opengl.JPG


Vertex Buffer Object 로 3D 영상을 그리는 프로그램을 작성하고 있는데요.


Grayscale 영상을 읽어서 일정 이상의 값을 Vertex 로 저장해서 display 하는 방식인데

color 값을 구할 때, RGB 값을 동일하게 넣어서 회색으로 사용하려고 하는데


위 그림처럼 노이즈 같은게 생기네요.


Color 값 설정은 건 아래 코드 밖에 없는데


color[*d_Vertex_Index] = make_float4(c,c,c,0.1f);


혹시 이런 현상에 대해 아시는 분 계시면 조언 좀 부탁드려요.


OpenGL 처음 하는데 어렵네요..



드로우 코드는 

void DrawGLScene()

{

// cutStartTimer(timer);  


// run CUDA kernel to generate vertex positions

runCuda();

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);


glMatrixMode(GL_MODELVIEW);

glLoadIdentity();

glTranslatef(translate_x, translate_y, translate_z);

glRotatef(rotate_x, 1.0, 0.0, 0.0);

glRotatef(rotate_y, 0.0, 1.0, 0.0);


glBindBuffer(GL_ARRAY_BUFFER, vbo_pos);

glVertexPointer(3, GL_FLOAT, 0, 0);

glEnableClientState(GL_VERTEX_ARRAY);


glBindBuffer(GL_ARRAY_BUFFER, vbo_color);

glColorPointer(4, GL_FLOAT, 0, 0);

glEnableClientState(GL_COLOR_ARRAY);

glBindBuffer(GL_ARRAY_BUFFER, 0);


glDrawArrays(GL_POINTS, 0, h_Vertex_Count-1);


glDisableClientState(GL_VERTEX_ARRAY);

glDisableClientState(GL_COLOR_ARRAY);


SwapBuffers(dc->m_hDC);

}