Graphics Pipeline(详细)
2015-10-23 12:11:08 12 举报
着色相关
作者其他创作
大纲/内容
Primitive Assembly
TemporaryVariables
Uniforms
Fragment Shader
gl_Positiongl_FrontFacintgl_PointSize
Special Functions1.glFlush2.glFinish
Per-Fragment Operation
Blending
State and State Requests1.glEnable/glDisable2.glGetBooleanv/glGetIntegerv/glGetFloatv/glGetString3.glIsEnabled
Vertex Shader
Pre-FragmentOperations
Vertices1.glVertexAttrib{1234}{f}/glVertexAttrib{1234}{f}v2.glVertexAttribPointer3.EnableVertexAttribArray/glDisableVertexAttribArray4.glDrawArrays/glDrawElements
Scissor Test
Texturing1.glActiveTexture2.glBindTexture/glGenTextures/glDeleteTextures3.glTexImage2D/glTexSubImage2D4.glCopyTexImage2D/glCopyTexSubImage2D5.glCompressedTexImage2D/glCompressedTexSubImage2D6.glTexParameter{if}/glTexParameter{if}v7.glGenerateMipmap
Samplers(optional)
Buffer Objects1.glGenBuffers/glDeleteBuffers2.glBindBuffer3.glBufferData/glBufferSubData4.glIsBuffer5.glGetBufferParameteriv
Framebuffer Objects1.glBindFramebuffer/glDeleteFramebuffers/glGenFramebuffers/2.glBindRenderbuffer/glDeleteRenderbuffers/glGenRenderbuffers3.glRenderbufferStorage4.glFramebufferRenderbuffer5.glFramebufferTexture2D
API
Viewport and Clipping1.glDepthRangef2.glViewport
Shaders and Programs1.glCreateShader/glDeleteShader2.glShaderSource3.glCompileShader4.glGetShaderiv/glGetShaderInfoLogiv1.glCreateProgram/glDeleteProgram2.glAttachShader/glDetachShader3.glLinkProgram4.glUseProgram5.glGetProgramiv/glGetProgramInfologShaders and Program:1.glGetAttribLocation2.glBindAttribLocation3.glGetUniformLocation4.glUniform{1234}{if}/glUniform{1234}{if}v5.glUniformMatrix{234}fv
图元装配阶段:1.顶点装配成图元(三角、线、点)。2.剔除视图平截体外的图元。3.顶点数据转换成屏幕坐标系。4.执行背面/正面剔除。
Whole Framebuffer Operation1.glColorMask/glDepthMask/glStencilMask2.glClear3.glClearColor/glClearDepthf/glClearStencil
Rasterization
Varying 0-7
Pixel Ownership Test
Stencil Test
Pre-Fragment Operation1.glScissor2.glStencilFunc/glStencilFuncSeperate3.glStencilOp/glStencilOpSeperate4.glDepthFunc5.glBlendEquation/glBlendEquationSeperate6.glBlendFunc/glBlendFuncSeperate7.glBlendColor
Vertex Array/Buffer Objects
光栅化阶段:1.将顶点数据转换成片元。
在Vertex Shader中: Attributes: Vertex Arrays提供的每个顶点数据。 Uniforms: 常量。 Samplers: 代表纹理的特殊Uniforms。
gl_FragColor
Texture Memory
Dithering
Fragment Data
Framebuffer
Rasterization1.glLineWidth2.glFrontFace/glCullFace3.glPolygonOffset
Depth Test
Attribute 0-7
0 条评论
下一页