#include <osg/Program>
#include <osg/LineWidth>
#include <osgDB/ReadFile>
#include <osg/LineWidth>
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
程序中可以有多个着色器对象,就跟一般接口一样,可以把共用代码段写一个接口,以便复用
static const char* vertSource = {
"#version 120\n"
"#extension GL_EXT_geometry_shader4 : enable\n"
"void main()\n"
"{ gl_Position = ftransform(); }\n"
} ;
static const char* geomSource = {
"#version 120\n"
"#extension GL_EXT_geometry_shader4 : enable\n"
"uniform int segments;\n" //uniform关键词的作用:由应用程序在着色器执行之前指定,由顶点着色器和片段着色器共享
"void main(void)\n"
"{\n"
" float delta = 1.0 / float(segments);\n"
" vec4 v;\n"
" for ( int i=0; i<=segments; ++i )\n"
" {\n"