- Timestamp:
- 06/21/05 17:13:42 (8 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/examples/osgparametric/osgparametric.cpp
r4346 r4347 15 15 #include <osgProducer/Viewer> 16 16 17 char vertexShaderSource[] = 18 "uniform vec2 xCoeff; \n" 19 "uniform vec2 yCoeff; \n" 20 "//uniform sampler2D baseTexture; \n" 17 char vertexShaderSource_simple[] = 18 "uniform vec4 coeff; \n" 21 19 "\n" 22 20 "void main(void) \n" … … 24 22 "\n" 25 23 " gl_TexCoord[0] = gl_Vertex; \n" 26 " gl_Vertex.z = gl_Vertex.x*xCoeff[0] + gl_Vertex.x*gl_Vertex.x* xCoeff[1] + \n" 27 " gl_Vertex.y*yCoeff[1] + gl_Vertex.y*gl_Vertex.y* yCoeff[1]; \n" 28 " //gl_Vertex.z = texture2D( vertexTexture, gl_TexCoord[0].xy).r; \n" 24 " gl_Vertex.z = gl_Vertex.x*coeff[0] + gl_Vertex.x*gl_Vertex.x* coeff[1] + \n" 25 " gl_Vertex.y*coeff[2] + gl_Vertex.y*gl_Vertex.y* coeff[3]; \n" 29 26 " gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n" 30 27 "}\n"; … … 45 42 const osg::FrameStamp* fs = nv->getFrameStamp(); 46 43 float value = sinf(fs->getReferenceTime()); 47 uniform->set(osg::Vec 2(value,-value));44 uniform->set(osg::Vec4(value,-value,-value,value)); 48 45 } 49 46 }; … … 101 98 stateset->setAttribute(program); 102 99 103 osg::Shader* vertex_shader = new osg::Shader(osg::Shader::VERTEX, vertexShaderSource );100 osg::Shader* vertex_shader = new osg::Shader(osg::Shader::VERTEX, vertexShaderSource_simple); 104 101 program->addShader(vertex_shader); 105 102 … … 109 106 110 107 111 osg::Uniform* xCoeff = new osg::Uniform(" xCoeff",osg::Vec2(1.0,-1.0f));108 osg::Uniform* xCoeff = new osg::Uniform("coeff",osg::Vec4(1.0,-1.0f,-1.0f,1.0f)); 112 109 xCoeff->setUpdateCallback(new UniformVarying); 113 110 stateset->addUniform(xCoeff); 114 111 115 osg::Uniform* yCoeff = new osg::Uniform("yCoeff",osg::Vec2(-1.0f,1.0f));116 stateset->addUniform(yCoeff);117 118 112 119 113 osg::Texture2D* texture = new osg::Texture2D(osgDB::readImageFile("lz.rgb"));
