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
[47244] OpenGL 광원 및 재질 질문입니다
류호열 [] 2009 읽음    2006-11-30 10:18
안녕하세요.. OpenGL로 3차원 개체를 그리는데..  첨부파일과 같이...
이상하게도 덩치가 큰 녀석들에게는 조명효과가 반영되지 않습니다.
작은 박스들은 빛에 의해 면들의 구분이 확실히 되는데...
큰 박스들은 빛을 하나도 못 받는 것 처럼.. 한 면으로 보입니다..
아주 가까이서 보면..미미하게 구분이 되는 것으로 봐선...
크기가 커짐에 따라 조명효과가 줄어드는 것 같은데... 이게 말이 되는 얘긴지도 잘 모르겠습니다.
광원과 재질 설정하는 코드는 아래와 같습니다..  빛의 속성(mbientLight[] = { 0.3f, 0.3f, 0.3f, 1.0f }와 같은)을 바꾸어 보았지만.. 전체적으로 반사에의한 색 변화 정도만 있고..
역시 큰 물체들은 한 덩어리로 보입니다.
지푸라기라도 잡고싶은 심정이네요.. 도와주세요...
-------------------------------------------------------------------------------------------
GLfloat lightPos[] = { 0.0f, 0.0f, 1.0f, 0.0f };
    GLfloat ambientLight[] = { 0.3f, 0.3f, 0.3f, 1.0f };
    GLfloat diffuseLight[] = { 0.4f, 0.4f, 0.4f, 1.0f };
    GLfloat specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
    GLfloat specref[] = { 5.0f, 5.0f, 5.0f, 1.0f };

    glClearColor(0.0f, 0.0f, 0.0f, 1.0f);               // Black Background
    glShadeModel(GL_SMOOTH);                            // Enable Smooth Shading
    glEnable(GL_DEPTH_TEST);                            // Enables Depth Testing
    glEnable(GL_CULL_FACE);
   
    glShadeModel(GL_SMOOTH);
    glClearDepth(1.0f);
    glEnable(GL_DEPTH_TEST);

    glFrontFace(GL_CCW);

    glEnable(GL_LIGHTING);

    glEnable(GL_COLOR_MATERIAL);
    glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
    glMaterialfv(GL_FRONT, GL_SPECULAR, specref);
    glMateriali(GL_FRONT, GL_SHININESS, 1);


    glLightfv(GL_LIGHT0, GL_AMBIENT, ambientLight);
    glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuseLight);
    glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
    glLightfv(GL_LIGHT0, GL_SPECULAR, specular);
    glEnable(GL_LIGHT0);

    glDepthFunc(GL_LEQUAL);
    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations
-------------------------------------------------------------------------------------------------

+ -

관련 글 리스트
47244 OpenGL 광원 및 재질 질문입니다 류호열 2009 2006/11/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.