OSG之osg::StateAttribute派生類速查

渲染狀態類;是否需要setMode;使用getAttribute時的枚舉值;

簡介
osg::AlphaFunc;GL_ALPHA_TEST;ALPHAFUNC;封裝了glAlphaFunc的功能。用於實現Alpha測試。
osg::BlendColor;GL_BLEND;BLENDCOLOR;封裝了glBlendColor的功能,可能需要OpenGL 1.2或以上版本支持。用於指定顏色融合(Blend)時的常量顏色。
osg::BlendEquation;GL_BLEND;BLENDEQUATION;封裝了glBlendEquation的功能,可能需要OpenGL 1.2或以上版本支持。用於指定顏色融合(Blend)方程式。
osg::BlendFunc;GL_BLEND;BLENDFUNC;封裝了glBlendFunc/glBlendFuncSeparate的功能,後者可能需要OpenGL 1.4或以上版本支持。用於實現顏色融合的效果。
osg::ClampColor;CLAMPCOLOR;封裝了glClampColorARB的功能,可能需要OpenGL 2.0或以上版本支持。用於控制顏色截取的範圍。請參閱[url/]http:/www.opengl.org/registry/specs/ARB /color_buffer_float.txt[/url]
osg::ClipPlane;GL_CLIP_PLANEi;CLIPPLANE;封裝了glClipPlane的功能。用於實現視景體的裁切。
osg::ColorMask;-;COLORMASK;封裝了glColorMask的功能。用於指定顏色緩存的寫操作掩碼。
osg::ColorMatrix;-;COLORMATRIX;封裝了glMatrixMode(GL_COLOR),glLoadMatrix及相關的功能,可能需要GL_ARB_imaging擴展支持。用於設置顏色矩陣。
osg::CullFace;GL_CULLFACE;CULLFACE;封裝了glCullFace的功能。用於執行多邊形的正/反面剔除。
osg::Depth;GL_DEPTH_TEST;DEPTH;封裝了glDepthFunc,glDepthRange和glDepthMask的功能。用於實現深度測試。
osg::Fog;GL_FOG;FOG;封裝了glFog及相關的功能,部分功能可能需要GL_EXT_fog_coord擴展支持。用於指定霧效參數並實現霧效,如果圖元設置了霧座標參數,則系統內部將使用glFogCoord實現功能。
osg::FragmentProgram;GL_FRAGMENT_PROGRAM_ARB;FRAGMENTPROGRAM;封裝了 glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, ...)及相關的功能,可能需要GL_ARB_fragment_program擴展支持。用於實現GPU的片元編程功能,請參閱 [url]http://www.opengl.org/registry/specs/ARB/fragment_program.txt[/url]
osg::FrameBufferObject;封裝了glFramebufferTexture2DEXT等各種相關功能,可能需要GL_EXT_framebuffer_object擴展支持。用於實現FBO相關的操作,包括渲染到紋理的功能。
osg::FrontFace;-;FRONTFACE;封裝了glFrontFace的功能。用於指定繪製多邊形正面時頂點的時針順序。
osg::Hint;GL_POINT_SMOOTH,GL_LINE_SMOOTH,GL_POLYGON_SMOOTH;HINT;封裝了glHint的功能。用於實現圖元的反走樣處理。
osg::Light;GL_LIGHTi;LIGHT;封裝了glLight及相關的功能。用於指定光源的各種屬性。
osg::LightModel;-;LIGHTMODEL;封裝了glLightModel的功能,可能需要OpenGL 1.2或以上版本支持。用於選擇光照模型(如全局光,雙面光照等)。
osg::LineStipple;GL_LINE_STIPPLE;LINESTIPPLE;封裝了glLineStipple的功能。用於實現自定義的線段填充花紋。
osg::LineWidth;-;LINEWIDTH;封裝了glLineWidth的功能。用於指定線寬。
osg::LogicOp;GL_COLOR_LOGIC_OP;LOGICOP;封裝了glLogicOp的功能。用於實現片元的邏輯運算。
osg::Material;GL_COLOR_MATERIAL;MATERIAL;封裝了glMaterial,glColorMaterial及相關的功能。用於指定物體的材質參數,也可指定使用顏色材質模式。
osg::Multisample;GL_MULTISAMPLE;MULTISAMPLE;封裝了glSampleCoverageARB的功能,可能需要GL_ARB_multisample擴展支持。用於實現多重採樣效果。
osg::Point;GL_POINT_SMOOTH;POINT;封裝了glPointParameter及相關的功能,可能需要OpenGL 1.4或以上版本支持。用於指定圖元點的大小和亮度等參數。
osg::PointSprite;GL_POINT_SPRITE_ARB;POINTSPRITE;封裝了 glPointParameter(GL_POINT_SPRITE_COORD_ORIGIN, ...)及相關的功能,可能需要GL_ARB_point_sprite擴展支持。用於實現點精靈的效果(使用告示牌技術,可用於創建高性能粒子系統)。
osg::PolygonMode;POLYGONMODE;封裝了glPolygonMode的功能。用於指定多邊形的繪製模式(點/線框/填充)。
osg::PolygonOffset;GL_POLYGON_OFFSET_POINT,GL_POLYGON_OFFSET_LINE,GL_POLYGON_OFFSET_FILL;POLYGONOFFSET; 封裝了glPolygonOffset的功能。用於實現多邊形偏移,以避免兩表面重合時的斑駁(Z-Fighting)的問題。
osg::PolygonStipple;GL_POLYGON_STIPPLE;POLYGONSTIPPLE;封裝了glPolygonStipple的功能。用於實現自定義的多邊形填充花紋。
osg::Program;PROGRAM;封裝了glUseProgram及相關的功能,可能需要OpenGL 2.0或以上版本支持。用於實現GLSL着色器。
osg::Scissor;GL_SCISSOR_TEST;SCISSOR;封裝了glScissor的功能。用於實現屏幕視圖的裁剪。
osg::ShadeModel;-;SHADEMODEL;封裝了glShadeModel的功能。用於指定圖元頂點着色模式。
osg::Stencil;GL_STENCIL_TEST;STENCIL;封裝了glStencilFunc,glStencilOp和glStencilMask的功能。用於實現模板測試。
osg::StencilTwoSided;GL_STENCIL_TEST,GL_STENCIL_TEST_TWO_SIDE;STENCIL;封裝 了glActiveStencilFaceEXT及相關的功能,可能需要GL_EXT_stencil_two_side擴展支持。用於分別實現正/反面 的模板測試。請參閱[url]http://www.opengl.org/registry/specs/EXT /stencil_two_side.txt[/url]
osg::TexEnv;-;TEXENV;封裝了glTexEnv的功能。用於指定紋理映射方式。
osg::TexEnvCombine;-;TEXENV;封裝了glTexEnv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB)及相關的功能,可能需要GL_ARB_texture_env_combine擴展支持。用於實現紋理映射效果的合併,請 參閱[url]http://www.opengl.org/registry/specs/ARB /texture_env_combine.txt[/url]
osg::TexEnvFilter;-;TEXENVFILTER;封裝了glTexEnv(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, ...)的功能,可能需要OpenGL 1.4或以上版本支持。用於調整紋理的細節層次(LOD),請參閱[url]http://www.opengl.org/registry/specs /EXT/texture_lod_bias.txt[/url]
osg::TexGen;GL_TEXTURE_GEN_S,GL_TEXTURE_GEN_T,GL_TEXTURE_GEN_R,GL_TEXTURE_GEN_Q;TEXGEN;封裝了glTexGen的功能。用於自動生成紋理座標。
osg::TexMat;TEXMAT;封裝了glMatrixMode(GL_TEXTURE)及相關的功能。用於設置紋理矩陣。
osg::Texture;紋理類的基類,同時封裝了glTexParameter及相關的功能。可以指定紋理濾波,截取等參數。
osg::Texture1D;GL_TEXTURE_1D;TEXTURE;封裝了glTexImage1D及相關的功能。用於實現一維紋理映射。
osg::Texture2D;GL_TEXTURE_2D;TEXTURE;封裝了glTexImage2D及相關的功能。用於實現二維紋理映射。
osg::Texture2DArray;GL_TEXTURE_2D_ARRAY_EXT;TEXTURE;封裝了 glTexImage3D(GL_TEXTURE_2D_ARRAY_EXT, ...)及相關的功能,可能需要GL_EXT_texture_array擴展支持。用於實現二維紋理數組映射,請參閱 [url]http://www.opengl.org/registry/specs/EXT/texture_array.txt[/url]
osg::Texture3D;GL_TEXTURE_3D;TEXTURE;封裝了glTexImage3D及相關的功能,可能需要 GL_EXT_texture3D擴展支持。用於實現三維紋理映射,請參閱[url]http://www.opengl.org/registry /specs/EXT/texture3D.txt[/url]
osg::TextureCubeMap;GL_TEXTURE_CUBE_MAP;TEXTURE;封裝了 glBindTexture(GL_TEXTURE_CUBE_MAP, ...)及相關的功能,可能需要OpenGL 1.3或以上版本支持。用於實現立方圖紋理映射,請參閱[url]http://www.opengl.org/registry/specs/ARB /texture_cube_map.txt[/url]
osg::TextureRectangle;GL_TEXTURE_RECTANGLE;TEXTURE;封裝了 glTexImage2D(GL_TEXTURE_RECTANGLE, ...)及相關的功能,可能需要GL_ARB_texture_rectangle擴展支持。用於實現矩形紋理映射,請參閱 [url]http://www.opengl.org/registry/specs/ARB/texture_rectangle.txt[/url]
osg::VertexProgram;GL_VERTEX_PROGRAM_ARB;VERTEXPROGRAM;封裝了 glProgramStringARB(GL_VERTEX_PROGRAM_ARB, ...)及相關的功能,,可能需要GL_ARB_vertex_program擴展支持。用於實現GPU的頂點編程功能,請參閱 [url]http://www.opengl.org/registry/specs/ARB/vertex_program.txt[/url]
osg::Viewport;-;VIEWPORT;封裝了glViewport的功能。用於設置屏幕視圖。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章