| | 201 | |
| | 202 | |
| | 203 | if (shader) |
| | 204 | { |
| | 205 | osg::StateSet* stateset = loadedModel->getOrCreateStateSet(); |
| | 206 | |
| | 207 | /////////////////////////////////////////////////////////////////// |
| | 208 | // vertex shader using just Vec4 coefficients |
| | 209 | char vertexShaderSource[] = |
| | 210 | "void main(void) \n" |
| | 211 | "{ \n" |
| | 212 | "\n" |
| | 213 | " gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n" |
| | 214 | "}\n"; |
| | 215 | |
| | 216 | ////////////////////////////////////////////////////////////////// |
| | 217 | // fragment shader |
| | 218 | // |
| | 219 | char fragmentShaderSource[] = |
| | 220 | "void main(void) \n" |
| | 221 | "{ \n" |
| | 222 | " gl_FragColor = gl_Color; \n" |
| | 223 | "}\n"; |
| | 224 | |
| | 225 | |
| | 226 | osg::Program* program = new osg::Program; |
| | 227 | stateset->setAttribute(program); |
| | 228 | |
| | 229 | osg::Shader* vertex_shader = new osg::Shader(osg::Shader::VERTEX, vertexShaderSource); |
| | 230 | program->addShader(vertex_shader); |
| | 231 | |
| | 232 | //osg::Shader* fragment_shader = new osg::Shader(osg::Shader::FRAGMENT, fragmentShaderSource); |
| | 233 | //program->addShader(fragment_shader); |
| | 234 | } |
| | 235 | |
| | 236 | |