设置正投影
GLFrustum::SetOrthoGraphic(GLfloat xMin, GLfloat xMax, GLfloat yMin, GLfloat yMax, GLfloat zMin, zMax);
设置透视投影
GLFrustum::SetPerspective(float fFov, float aspect, float near, float far);
点
glPointsize(glFloat, size);
glGetFloatv(GL_POINT_SIZE_RANGE, sizes[2]); (点大小单位)
glGetFloatv(GL_POINT_SIZE_GRANULARITY, &step) ; 点的粒度(步长)
glEnable(GL_PROGRAM_POINT_SIZE); 指定可以通过shader 设置点大小。
多边形模式
void glPolygonMode(GLEnum face, GLEnum mode)
face: GL_FRONT GLBACK GLFRONT_AND_BACK
mode: GL_FILL(默认) GL_LINE GL_POINT
多边形偏移
glPolygonOffset(GLFloat factor, GLFloat units);
对于下面这个公式不是太明白。
裁剪
glEnable(GL_SCISSOR_TEST)
glScissor(x, y, width, height);
混合
glEnable(GL_BLEND)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBlendEquation(GLEnum mode)
glBlendFuncSeqarate
glBlendColor(GLclampf red, GLclampf green, GLclampf blue);
抗锯齿
glEnabel(GL_POINT_SMOOTH | GL_LINT_SMOOTH | GL_POLYGON_SMOOTH) ;
glHint(GL_POINT_SMOOTH_HINT, GL_NICEST)
多重采样
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH | GLUT_MULTISAMPLE)
glEnable(GL_MULTISAMPLE)