exercise answer
transformation 예제
lecture10-ch4
exercise
lecture9-ch4
lecture7&8- appendixB&C
circle 예제
circle을 cos/sin으로 만들어내어 그릴 수도 있습니다. [geometry.cpp 참고]
[#M_ more.. | less.. |void drawCircle(float radius, int step)
{
float theta = (float) (2*M_PI/step);
glBegin(GL_TRIANGLE_FAN);// FILLED CIRCLE
for (int i=0; i<step; i++)
{
float x = radius * cos(theta * i);
float y = radius * sin(theta * i);
glVertex3f(x, y, 0);
}
glEnd();
}_M#]
circle은 gluDisk 또는 gluPartialDisk로 그릴 수 있습니다.
[#M_ more.. | less.. |void drawCircle(float radius, int step)
{
gluDisk(quadric, 0.0, radis, step, 4);
}
int main(int argc, char *argv[])
{
…
quadric = gluNewQuadric();
gluQuadricDrawStyle(quadric, GLU_FILL);
…
}
_M#]
1207557968.cpp
paint 예제
Your first OpenGL program
.NET2005
- 메뉴에서 File->New->Project->Visual C++ 템플릿->Win32->Win32 Console Application를 선택한 후 “프로젝트 이름(예를 들어, clear)”을 적고 확인버튼을 누른다.
- Console Application과 Empty project을 선택하고 Finish버튼을 누른다.
- Project->Add New Items->Visual C++ 템플릿->C++ File을 선택한 후 “소스코드 이름(예를 들어, clear.cpp)”를 적고 확인버튼을 누른다.
- 실제 코드 (clear.cpp) 추가
[#M_ more.. | less.. |/* minimal program to open & clear a window */
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
void keyboard(unsigned char key, int x, int y)
{
switch (key)
{
case 0x1B:
case ‘q’:
case ‘Q’:
exit(0);
break;
}
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(200, 200);
glutInitWindowPosition(0,0);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
glutMainLoop();
}
_M#]
- Project->Properties(ALT+F7)->Configuration Properties->Linker->Input에 Additional Dependencies에 opengl32.lib glu32.lib glut32.lib을 넣는다.
VC++ 6.0
- 메뉴에서 File->New->Project탭->Win32 Console Application를 선택한 후 “프로젝트 이름(예를 들어, clear)”을 적고 확인버튼을 누른다.
- An empty project을 선택하고 Finish버튼을 누른다.
- Project->Add To Project->New->Files탭->C++ Source File을 선택한 후 “소스코드 이름(예를 들어, clear.cpp)”를 적고 확인버튼을 누른다.
- 실제 코드 추가
- Project->Settings(ALT+F7)->Link탭->Category의 Input에 Object/library modules에 opengl32.lib glu32.lib glut32.lib을 넣는다.