C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[18385] Re:[참고] OpenGL을 사용하고 싶습니다.
불사새 [] 1510 읽음    2002-05-12 01:40
OpenGL을 사용 하시려면 빌더에서도 아주 당연하게 별 무리없이 사용 가능합니다.

꼭 콤포넌트 안써도 된다 이것이죠...

void __fastcall TForm1::FormCreate(TObject *Sender)
{
hDC=GetDC(Handle);

int npfd;

PIXELFORMATDESCRIPTOR pfd={
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW|
PFD_SUPPORT_OPENGL
|PFD_DOUBLEBUFFER
,
PFD_TYPE_RGBA,
24,
0,0,0,0,0,0,
0,0,
0,0,0,0,0,
24,
0,
0,
PFD_MAIN_PLANE,
0,
0,0,0};

npfd=ChoosePixelFormat(hDC,&pfd);
SetPixelFormat(hDC,npfd,&pfd);

hRC=wglCreateContext(hDC);
wglMakeCurrent(hDC,hRC);
}

//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
wglMakeCurrent(hDC,NULL);
wglDeleteContext(hRC);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glPushMatrix();
    glTranslatef(0.0f,0.0f,0.0f);
    glBegin(GL_QUADS);
glColor3f(0.5,0.0,0.5);
        glVertex3f(-80.0f,0.0f,80.0f);
glColor3f(0.5,0.5,0.0);
        glVertex3f(-80.0f,0.0f,-80.0f);
glColor3f(0.0,0.5,0.5);
        glVertex3f(80.0f,0.0f,-80.0f);
glColor3f(0.0,0.5,0.0);
        glVertex3f(80.0f,0.0f,80.0f);
    glEnd();
....
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
glFrontFace(GL_CW);
/*glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT0,GL_POSITION,pos1);
glLightfv(GL_LIGHT0,GL_DIFFUSE,spec1);
glLightfv(GL_LIGHT1,GL_POSITION,pos2);
glEnable(GL_DEPTH_TEST);
...


이건 빌더에서 간단하게 OpenGL쓰려고 한것중 일부분입니다.

GetDC로 핸들 받아서(그냥 Canvas->Handle을 써도...)보통 책에 나와있는데로

초기화 해주시고 함수를 사용하시면 됩니다. 정말 어려움이 없습니다...

좋은 교제는 OpenGL Super Bible(정종필 역..으로 되어있는것 말고 새로나온것이 있습니다.꼭 그걸 사셔야 합니다..정종필역...은 OpenGL아는 사람이 봐도 어렵습니다..-.-)

OpenGL Game Programming, 정보 문화사...입니다...거의 바이블..이라 불리우는 원서도 있지만

이 두책..이 익히시는덴 도움될껍니다...그중 두번째..오픈지엘게임프로그래밍은

정말 괜찮은 책이라 사료되옵니다...DX의 D3D부분을 뺀 다른 부분도 볼만하구요...

3D에 관한 이론적 설명도 좋습니다...

기본적으로 행렬에 관한 지식과 약간의 물리적 개념만 있으시다면 금방 뭔가를 만드실수 있습니다.

3D-MAX파일은..당연히 파일의 포맷을 알아야 겠죠...예전에 마소에서..그런 비슷한 걸 다룬 기사가

있었는데...한번 찾아 봐야겠군요...

먼저 OpenGL을 잘 다루시게 된가면 3DMAX파일에 관한건 쉽게 해결하실듯 합니다.


왕대박 님이 쓰신 글 :
: : : : : : :

안녕하세요..

:

OpenGL이라는 놈을 사용해야 하는데... 감이 잡히질 않습니다.

:

이곳의 내용을 보니. 빌더를 이용해서 많은 분들이 OpenGL를 사용하시고 계신듯 하군요.

:

이제까지.. 그래픽이라면, PaintBox에 대고, Line이나 그리던 터라... 영 감이 잡히질 않는군요..

:

제가 하려는 것은

:

1) 해석된 3차원 수치데이터를 받아, 그것을 Visual하게 표현해주고, 그것도 물체를 : 돌려가면서 감상(!)을 해야

:

한다군요...

:

2)또, 3D-MAX로 작성된 파일을 보여줘야 한다군요.. (이게 가능한가?? --;;;;; : )

:

우째 이런일이.. --;;;;;;;;;;;;;;;;;;;  아마, 건강에 무지하게 해로운 일이 될것 같군요...

:

혹시, 좋은 교재나 방향성에 대해서 소개시켜주시면 감사하겠습니다.....

:

그럼.. 즐프하세요...

: :
:

+ -

관련 글 리스트
18379 [질문] OpenGL을 사용하고 싶습니다. 왕대박 970 2002/05/11
30039     Re:[질문] OpenGL을 사용하고 싶습니다.  구 1072 2002/05/11
18387     Re:[질문] OpenGL을 사용하고 싶습니다. xen 2077 2002/05/12
18385     Re:[참고] OpenGL을 사용하고 싶습니다. 불사새 1510 2002/05/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.