beltegeuse / amaterasu3d Goto Github PK
View Code? Open in Web Editor NEW3D visual perception engine
3D visual perception engine
Set dynamically the root dir.
Add dependencies in Amaterasu3D build system to reduce the number of operation for developpers.
The aims is to reduce the complexity for uses :
Math::CMatrix4 positionMatrix, scaleMatrix;
positionMatrix.SetTranslation(m_Position.x, m_Position.y, m_Position.z);
scaleMatrix.SetScaling(m_Scale.x, m_Scale.y, m_Scale.z);
m_CachedLocalTransformationMatrix = scaleMatrix_m_Orientation.ToMatrix()_positionMatrix;
To :
m_CachedLocalTransformationMatrix = Math::CMatrix4::ScaleMatrix(...)_m_Orientation.ToMatrix()_Math::CMatrix::PositionMatrix(...);
And integrate Math::TVector3f for parameters
Use new syntax for FindPackage CMake :
One Example :
# - Find CBLAS
# Find the native CBLAS headers and libraries.
#
# CBLAS_LIBRARIES - List of libraries when using cblas.
# CBLAS_FOUND - True if cblas found.
#
# Copyright 2009-2011 The VOTCA Development Team (http://www.votca.org)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
find_library(CBLAS_LIBRARY NAMES cblas gslcblas HINTS $ENV{CBLASDIR}/lib $ENV{CBLASDIR}/lib64 )
set(CBLAS_LIBRARIES ${CBLAS_LIBRARY} )
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(CBLAS DEFAULT_MSG CBLAS_LIBRARY )
if (CBLAS_FOUND)
include(CheckLibraryExists)
check_library_exists("${CBLAS_LIBRARY}" cblas_dsyrk "" FOUND_DSYRK)
if(NOT FOUND_DSYRK)
message(FATAL_ERROR "Could not find cblas_dsyrk in ${CBLAS_LIBRARY}, take a look at the error message in ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log to find out what was going wrong. If you don't have pkg-config installed you will most likely have to set CBLAS_LIBRARY by hand (i.e. -DCBLAS_LIBRARY='/path/to/libcblas.so') !")
endif(NOT FOUND_DSYRK)
endif (CBLAS_FOUND)
mark_as_advanced( CBLAS_LIBRARY )
Rewrite python script make.py for python 3.X
submodules, ...
Puts Only one VBO for Font system
Currently, we use freetype lib to handle Font. But there is somes problems to display space, maj, ... etc.
So we need to improve how CGraphicsString are displayed.
Regroup data in structures :
Use boost::python to manage object and errors.
Use one design pattern to encaspulate define type. (Get a more flexible system)
See if there is an possibility to setup root dir for :
Problem on Window in DEBUG version
Multiples changes need in GLBuffers :
Use new syntax on FindPackage for CMake :
Example :
# - Find CBLAS
# Find the native CBLAS headers and libraries.
#
# CBLAS_LIBRARIES - List of libraries when using cblas.
# CBLAS_FOUND - True if cblas found.
#
# Copyright 2009-2011 The VOTCA Development Team (http://www.votca.org)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
find_library(CBLAS_LIBRARY NAMES cblas gslcblas HINTS $ENV{CBLASDIR}/lib $ENV{CBLASDIR}/lib64 )
set(CBLAS_LIBRARIES ${CBLAS_LIBRARY} )
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(CBLAS DEFAULT_MSG CBLAS_LIBRARY )
if (CBLAS_FOUND)
include(CheckLibraryExists)
check_library_exists("${CBLAS_LIBRARY}" cblas_dsyrk "" FOUND_DSYRK)
if(NOT FOUND_DSYRK)
message(FATAL_ERROR "Could not find cblas_dsyrk in ${CBLAS_LIBRARY}, take a look at the error message in ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log to find out what was going wrong. If you don't have pkg-config installed you will most likely have to set CBLAS_LIBRARY by hand (i.e. -DCBLAS_LIBRARY='/path/to/libcblas.so') !")
endif(NOT FOUND_DSYRK)
endif (CBLAS_FOUND)
mark_as_advanced( CBLAS_LIBRARY )
Remove SDL (Big dependency) and prefer something like PCM.
Remove all depreciated functions :)
Currently use these approch for template requirement :
/*
*/
Might find a solution to have somethings like :
{% required 'GridDimension' 'vec2' %}
And in the child template :
{% variable 'uniform' 'vec2' 'GridDimension' %}
or
{% variable 'in' 'vec2' 'GridDimension' %}
to said : Ok i declare these variable, so dependancies is ok now :)
Rewrite python script make.py for python 3.X
submodules, ...
Integrate Camera and Light in the SceneGraph.
Choose the same approche used by Ogre3D or Irrlicht :
Some ideas :
RenderableObject:
to :
void AddData(..., ...);
Port this technique to GPU.
Use python prototype.
Currently, User need to add the path to 'Python.h'
The idea is to hide this use this ama3D::priv classes or some thing like that
Convert old version of the python Scripts to new syntax to be compatible with python 3.X
To be sure that : CUSTOM_ATTRIBUT + 1 not apply on an shaders that wait an other attribute.
Use std::string identifier :)
GDB Trace :
Program received signal SIGSEGV, Segmentation fault.
0xb7f3e3a4 in AdaptationLuminanceSimple::UpdateLuminance (this=0x4298a01e,
mipmapping=0x421dc770)
at /home/adrien/Workspace/Amaterasu3D/Code/Libs/Amaterasu3D/Addons/ToneMappingOperator/AdaptationLuminance/Global/AdaptationLuminanceSimple.cpp:27
27 m_LuminanceValue = values[0]*0.2126 + values[1]*0.7152 + values[2]*0.0722 ;
Call :
#0 0xb7f3e3a4 in AdaptationLuminanceSimple::UpdateLuminance (this=0x4298a01e,
mipmapping=0x421dc770)
at /home/adrien/Workspace/Amaterasu3D/Code/Libs/Amaterasu3D/Addons/ToneMappingOperator/AdaptationLuminance/Global/AdaptationLuminanceSimple.cpp:27
#1 0x42aa316f in ?? ()
#2 0x4298a01e in ?? ()
#3 0x421dc770 in ?? ()
#4 0x42007f3c in ?? ()
#5 0x41e338f9 in ?? ()
#6 0x418f35c8 in ?? ()
#7 0x0c68f8d4 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
For the case there is only two buffer to display (without Depth buffer).
Comportement :
Only one is displayed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.