본문 바로가기
Computer/JOGL

7. GLSL -- vs & fs

by DogBull 2007. 8. 3.

VertexShader(이하 vs 또는 VS)FragmentShader(이하 fs 또는 FS)
OpenGL Application 으로 읽어들이는 가장 간단한 방법에 대해 알아 보았다.

// VertexShader.vs
void main(){
    gl_Position= ftransform();
}

// FragmentShader.fs
void main(){
    gl_FragColor= vec4(1, 0, 0, 1);
}

위의 vs 와 fs의 기능은 매우 간단하다.
glVertex3f(...) 등으로 렌더링 파이프 라인에 넣어진 버텍스는 vs 에 따라 projection, view 를 거친후
red 색상으로 화면에 출력해 준다.

그렇다면 실제 응용프로그램에서 지정된 색상 즉,

gl.glColor3f(1, 1, 0);
glut.glutSolidTeapot(1);

과 같이 선언되었을 때, 이 색상으로 출력하기 위해서는 어떻게 해야 할까?

// VertexShader.vs
void main(){
    gl_FrontColor=  gl_Color;
    gl_Position=     ftransform();
}

// FragmentShader.fs
void main(){
    gl_FragColor= gl_Color;
}

vs 와 fs가 이와같이 선언되어 있다면,
출력결과는 응용프로그램에서 지정한 색상을 따르게 된다.

'Computer > JOGL' 카테고리의 다른 글

9. GLSL -- 툰 셰이딩  (0) 2007.08.03
8. GLSL -- Animation  (0) 2007.08.03
6. GLSL -- HelloWorld  (0) 2007.08.03
5. Text  (0) 2007.07.31
4. Color Cube  (0) 2007.07.30