--- cvsroot/libgender/material.C 2004/10/18 14:55:16 1.7 +++ cvsroot/libgender/material.C 2004/10/21 15:46:38 1.8 @@ -1,6 +1,61 @@ #include "opengl.h" #include "material.h" +#include +#include + +namespace shader { + + static CGcontext cg_context = cgCreateContext (); + + int var_i::next_name = 0; + + var_i::var_i (CGtype cgtype) + { + name = ++next_name; + param = cgCreateParameter (cg_context, cgtype); + } + + var_i::~var_i () + { + cgDestroyParameter (param); + } + + void var_i::build (shader_builder &b) + { + abort (); + } + + void var_i::build_decl (shader_builder &b) + { + abort (); + } + + template + varying_i::varying_i (const char *binding) + : var_i (cgtype) + { + strcpy (this->binding, binding); + } + + varying_3f_i position_3f_i ("POSITION"); + varying_3f_i normal_3f_i ("NORMAL"); + varying_3f_i color0_3f_i ("COLOR0"); + varying_3f_i color1_3f_i ("COLOR1"); + varying_2f_i texcoord0_2f_i ("TEXCOORD0"); + varying_2f_i texcoord1_2f_i ("TEXCOORD1"); + varying_2f_i texcoord2_2f_i ("TEXCOORD2"); + varying_2f_i texcoord3_2f_i ("TEXCOORD3"); + varying_2f_i texcoord4_2f_i ("TEXCOORD4"); + varying_2f_i texcoord5_2f_i ("TEXCOORD5"); + varying_2f_i texcoord6_2f_i ("TEXCOORD6"); + varying_2f_i texcoord7_2f_i ("TEXCOORD7"); + varying_1f_i psize_1f_i ("PSIZE"); + varying_1f_i attr6_1f_i ("ATTR6"), attr7_1f_i ("ATTR7"); + varying_2f_i attr6_2f_i ("ATTR6"), attr7_2f_i ("ATTR7"); + varying_3f_i attr6_3f_i ("ATTR6"), attr7_3f_i ("ATTR7"); +} + material::~material () { } @@ -106,3 +161,4 @@ { cgc = cgCreateContext (); } +