Programming/openGL2020. 4. 5. 22:11

이건 블로그 보다 위키에 정리 하는게 나으려나?

 

glBegin(GL_POINTS)

    glPointSize()

    glGetFloatv(GL_POINT_SIZE_RANGE,..)

    glGetFloatv(GL_POINT_SIZE_GRANULARITY,..) // 낱알 모양, 입자의 형상

glEnd()

 

 

glBegin(GL_LINES)

    glLineWidth(GLFloat value)

    glGetFloatv(GL_LINE_WIDTH_RANGE,..)

    glGetFloatv(GL_LINE_WIDTH_GRANULARITY,..) // 낱알 모양, 입자의 형상

glEnd()

 

glBegin(GL_LINE_STRIP)

 

glBegin(GL_LINE_STIPPLE)

    glLineStipple(GLint factor, GLushort pattern) // factor : 픽셀 단위 길이, pattern : 선의 형상

glEnd()

 

glBegin(GL_LINE_LOOP)

 

 

삼각형

glEnable(GL_CULL_FACE)

glDisable(GL_CULL_FACE)

glShadeModel(GL_FLAT) // GL_SMOOTH

glBegin(GL_TRIANGLES)

glBegin(GL_TRIANGLE_STRIP)

glBegin(GL_TRIANGLE_FAN)

    glFrontFace(GL_CW)

    glFrontFace(GL_CCW)

glEnd()

 

glEnable(GL_DEPTH_TEST)

    glDepthMask(GL_FALSE) // GL_TRUE

    glClearDepth(GLclampd value)

 

stipple (점묘법)

1bit color bitmap으로 선에 패턴을 그리거나 폴리곤에 32x32 사이즈의 패턴을 입힐 수 있으나

텍스쳐와는 다르게 rotate 되지 않는 특성을 지님(반대로 생각하면 선에 패턴을 그어 두면 줌 배율 상관없이 선 크기가 고정된다?)

 

scissor

win32api에서 갱신영역 지정해서 cpu 조금 먹게 하는 것과 비슷한 기법

직사각형 식으로 x,y,w,h 로만 지정이 가능

 

stencil

스텐실 마스크를 통해서 원하는 위치만을 렌더링 할 수 있다고 하는데 좀 많이 복잡함

glutInitDisplayMode(GLUT_STENCIL)

glEnable(GL_STENCIL_TEST)

glStencilFunc()

glClear(GL_STENCIL_BUFFER_BIT)

glClearStencil(GLint s)

glStencilOp(fail, z-fail, z-succes)

/*

GL_KEEP - 보존

GL_ZERO - 0으로

GL_REPLACE - glStencilFunc() 지정값으로 대체

GL_INCR - 증가

GL_DECR - 감소

GL_INVERT - 반전

GL_INCR_WRAP - 조건에 의해 증가

GL_DECR_WRAP - 조건에 의해 감소

*/

Posted by 구차니