+ glm_core.cpp + gen_external_templates.py ! vec1 and half types are still having problems ! no operators yetmaster
parent
a9c7b3075f
commit
bf41e1ee5c
2 changed files with 229 additions and 0 deletions
@ -0,0 +1,59 @@ |
||||
|
||||
__author__="eloraiby" |
||||
__date__ ="$5-Sep-2010 9:35:29 PM$" |
||||
|
||||
atomic_types = ["unsigned char", "unsigned short", "unsigned int", |
||||
"signed char", "signed short", "signed int", |
||||
"float", "double"] |
||||
|
||||
|
||||
glsl_vector_types = ["tvec2", "tvec3", "tvec4"] |
||||
glsl_matrix_types = ["tmat2x2", "tmat2x3", "tmat2x4", |
||||
"tmat3x2", "tmat3x3", "tmat3x4", |
||||
"tmat4x2", "tmat4x3", "tmat4x4"] |
||||
|
||||
glsl_operators = [] |
||||
|
||||
def gen_vectors(): |
||||
for v in glsl_vector_types: |
||||
print |
||||
print "//" |
||||
print "// " + v + " type explicit instantiation" |
||||
print "//" |
||||
for a in atomic_types: |
||||
print "template struct " + v + "<" + a + ">;" |
||||
print |
||||
|
||||
def gen_matrices(): |
||||
for m in glsl_matrix_types: |
||||
print |
||||
print "//" |
||||
print "// " + m + " type explicit instantiation" |
||||
print "//" |
||||
for a in atomic_types: |
||||
print "template struct " + m + "<" + a + ">;" |
||||
print |
||||
|
||||
if __name__ == "__main__": |
||||
print "//" |
||||
print "// GLM External templates generator script version 0.1 for GLM core" |
||||
print "//" |
||||
print "// atomic types:", atomic_types |
||||
print "// GLSL vector types:", glsl_vector_types; |
||||
print "// GLSL matrix types:", glsl_matrix_types; |
||||
print "//" |
||||
print |
||||
print "#include \"glm.hpp\"" |
||||
print |
||||
print "namespace glm {" |
||||
print "namespace detail {" |
||||
|
||||
|
||||
gen_vectors() |
||||
gen_matrices() |
||||
|
||||
print "} // namespace detail" |
||||
print "} // namespace glm" |
||||
|
||||
|
||||
|
@ -0,0 +1,170 @@ |
||||
//
|
||||
// GLM External templates generator script version 0.1 for GLM core
|
||||
//
|
||||
// atomic types: ['unsigned char', 'unsigned short', 'unsigned int', 'signed char', 'signed short', 'signed int', 'float', 'double']
|
||||
// GLSL vector types: ['tvec2', 'tvec3', 'tvec4']
|
||||
// GLSL matrix types: ['tmat2x2', 'tmat2x3', 'tmat2x4', 'tmat3x2', 'tmat3x3', 'tmat3x4', 'tmat4x2', 'tmat4x3', 'tmat4x4']
|
||||
//
|
||||
|
||||
#include "glm.hpp" |
||||
|
||||
namespace glm { |
||||
namespace detail { |
||||
|
||||
//
|
||||
// tvec2 type explicit instantiation
|
||||
//
|
||||
template struct tvec2<unsigned char>; |
||||
template struct tvec2<unsigned short>; |
||||
template struct tvec2<unsigned int>; |
||||
template struct tvec2<signed char>; |
||||
template struct tvec2<signed short>; |
||||
template struct tvec2<signed int>; |
||||
template struct tvec2<float>; |
||||
template struct tvec2<double>; |
||||
|
||||
|
||||
//
|
||||
// tvec3 type explicit instantiation
|
||||
//
|
||||
template struct tvec3<unsigned char>; |
||||
template struct tvec3<unsigned short>; |
||||
template struct tvec3<unsigned int>; |
||||
template struct tvec3<signed char>; |
||||
template struct tvec3<signed short>; |
||||
template struct tvec3<signed int>; |
||||
template struct tvec3<float>; |
||||
template struct tvec3<double>; |
||||
|
||||
|
||||
//
|
||||
// tvec4 type explicit instantiation
|
||||
//
|
||||
template struct tvec4<unsigned char>; |
||||
template struct tvec4<unsigned short>; |
||||
template struct tvec4<unsigned int>; |
||||
template struct tvec4<signed char>; |
||||
template struct tvec4<signed short>; |
||||
template struct tvec4<signed int>; |
||||
template struct tvec4<float>; |
||||
template struct tvec4<double>; |
||||
|
||||
|
||||
//
|
||||
// tmat2x2 type explicit instantiation
|
||||
//
|
||||
template struct tmat2x2<unsigned char>; |
||||
template struct tmat2x2<unsigned short>; |
||||
template struct tmat2x2<unsigned int>; |
||||
template struct tmat2x2<signed char>; |
||||
template struct tmat2x2<signed short>; |
||||
template struct tmat2x2<signed int>; |
||||
template struct tmat2x2<float>; |
||||
template struct tmat2x2<double>; |
||||
|
||||
|
||||
//
|
||||
// tmat2x3 type explicit instantiation
|
||||
//
|
||||
template struct tmat2x3<unsigned char>; |
||||
template struct tmat2x3<unsigned short>; |
||||
template struct tmat2x3<unsigned int>; |
||||
template struct tmat2x3<signed char>; |
||||
template struct tmat2x3<signed short>; |
||||
template struct tmat2x3<signed int>; |
||||
template struct tmat2x3<float>; |
||||
template struct tmat2x3<double>; |
||||
|
||||
|
||||
//
|
||||
// tmat2x4 type explicit instantiation
|
||||
//
|
||||
template struct tmat2x4<unsigned char>; |
||||
template struct tmat2x4<unsigned short>; |
||||
template struct tmat2x4<unsigned int>; |
||||
template struct tmat2x4<signed char>; |
||||
template struct tmat2x4<signed short>; |
||||
template struct tmat2x4<signed int>; |
||||
template struct tmat2x4<float>; |
||||
template struct tmat2x4<double>; |
||||
|
||||
|
||||
//
|
||||
// tmat3x2 type explicit instantiation
|
||||
//
|
||||
template struct tmat3x2<unsigned char>; |
||||
template struct tmat3x2<unsigned short>; |
||||
template struct tmat3x2<unsigned int>; |
||||
template struct tmat3x2<signed char>; |
||||
template struct tmat3x2<signed short>; |
||||
template struct tmat3x2<signed int>; |
||||
template struct tmat3x2<float>; |
||||
template struct tmat3x2<double>; |
||||
|
||||
|
||||
//
|
||||
// tmat3x3 type explicit instantiation
|
||||
//
|
||||
template struct tmat3x3<unsigned char>; |
||||
template struct tmat3x3<unsigned short>; |
||||
template struct tmat3x3<unsigned int>; |
||||
template struct tmat3x3<signed char>; |
||||
template struct tmat3x3<signed short>; |
||||
template struct tmat3x3<signed int>; |
||||
template struct tmat3x3<float>; |
||||
template struct tmat3x3<double>; |
||||
|
||||
|
||||
//
|
||||
// tmat3x4 type explicit instantiation
|
||||
//
|
||||
template struct tmat3x4<unsigned char>; |
||||
template struct tmat3x4<unsigned short>; |
||||
template struct tmat3x4<unsigned int>; |
||||
template struct tmat3x4<signed char>; |
||||
template struct tmat3x4<signed short>; |
||||
template struct tmat3x4<signed int>; |
||||
template struct tmat3x4<float>; |
||||
template struct tmat3x4<double>; |
||||
|
||||
|
||||
//
|
||||
// tmat4x2 type explicit instantiation
|
||||
//
|
||||
template struct tmat4x2<unsigned char>; |
||||
template struct tmat4x2<unsigned short>; |
||||
template struct tmat4x2<unsigned int>; |
||||
template struct tmat4x2<signed char>; |
||||
template struct tmat4x2<signed short>; |
||||
template struct tmat4x2<signed int>; |
||||
template struct tmat4x2<float>; |
||||
template struct tmat4x2<double>; |
||||
|
||||
|
||||
//
|
||||
// tmat4x3 type explicit instantiation
|
||||
//
|
||||
template struct tmat4x3<unsigned char>; |
||||
template struct tmat4x3<unsigned short>; |
||||
template struct tmat4x3<unsigned int>; |
||||
template struct tmat4x3<signed char>; |
||||
template struct tmat4x3<signed short>; |
||||
template struct tmat4x3<signed int>; |
||||
template struct tmat4x3<float>; |
||||
template struct tmat4x3<double>; |
||||
|
||||
|
||||
//
|
||||
// tmat4x4 type explicit instantiation
|
||||
//
|
||||
template struct tmat4x4<unsigned char>; |
||||
template struct tmat4x4<unsigned short>; |
||||
template struct tmat4x4<unsigned int>; |
||||
template struct tmat4x4<signed char>; |
||||
template struct tmat4x4<signed short>; |
||||
template struct tmat4x4<signed int>; |
||||
template struct tmat4x4<float>; |
||||
template struct tmat4x4<double>; |
||||
|
||||
} // namespace detail
|
||||
} // namespace glm
|
Loading…
Reference in New Issue