DirectX Graphics 프로그래밍 가이드 튜토리얼, 샘플, 툴, 힌트 샘플 Lighting 샘플   [목차열람] [주소복사] [슬롯비우기]
Lighting 샘플
 
Microsoft DirectX 9.0

Lighting 샘플


설명

Lighting 샘플에서는, 렌더링시의 Microsoft® Direct3D® 의 라이트의 사용 방법을 나타낸다. 이 샘플에서는, 앰비언트 라이트, 포인트 라이트, 디렉셔널 라이트, spotlight등의 각종 라이트의 설정 방법법과 유효/무효의 변환 방법의 차이를 나타낸다.

   조명의 상세를 확인하기 쉽게, 이 샘플에 텍스처는 포함되지 않았다.

패스

소스 파일 : (SDK 루트) \Samples\C++\Direct3D\Lighting

실행 가능 파일 : (SDK 루트) \Samples\C++\Direct3D\Bin

사용자 가이드

다음의 표는 , 처리 되고 있는 키를 나타내고 있다. 메뉴 커멘드를 사용해 같은 조작을 실시할 수가 있다.

동작
Enter장면을 시작 및 정지한다.
Space 키장면을 조금씩 진행한다.
F2새로운 렌더링 장치 또는 디스플레이 모드를 선택하도록(듯이) 사용자에 지시한다.
Alt+Enter풀 스크린 모드와 윈도우 모드를 바꾼다.
상 커서 키, 하 커서 키벽안의 정점의 수를 늘린다, 또는 줄인다.
W와이어 프레임 모드.
S솔리드 모드.
Esc애플리케이션을 종료한다.

프로그래밍 정보

Direct3D 의 라이트를 사용하면 렌더링 하는 개체에 음영이나 첨가할 수가 있다. 라이트가 액티브 때에 렌더링 한 기본도형는, 각 정점의 색이 바뀐다. 이 샘플의 벽과 마루에는 다수의 정점이 포함되어 있으므로, 조명이 상세하게 표현된다. 정점이 벽과 마루의 모퉁이에 있을 뿐(만큼)의 경우는, 정점의 수가 감소하기 위해(때문에), 조명의 이펙트가 엉성해진다. 이 프로그램의 m_m 및 m_n 멤버 변수를 변경 하면, 정점의 수가 표면의 조명에 어떻게 영향을 줄지를 알 수 있다.

조명 이펙트를 생성하려면 , Direct3D 의 라이트를 사용하는 것 외에도 좋게 개나 방법이 있다. 라이트 맵핑등의 기법을 사용하면 정점마다 계산에 제한되지 않는 조명 이펙트를 생성 할 수 있다. 정점 셰이더를 사용하면 정점 마다 특수한 조명, 리얼한 조명, 또는 커스터마이즈 된 조명을 생성할 수 있다. 픽셀 셰이더를 사용하면 렌더링 하는 다각형의 픽셀 마다 조명의 계산을 실행할 수 있다.

이 샘플에서는, 헬퍼-함수등의 프로그래밍 요소로부터 구성되는 Microsoft DirectX® 코드를 사용한다. 이 코드는 DirectX 소프트웨어 개발 킷 (SDK) 외 샘플과 공유되고 있다. 샘플 프레임워크(framework)의 헤더는 (SDK 루트)\DXSDK\Samples\C++\Common\Include, 소스 코드는 (SDK 루트) \DXSDK\Samples\C++\Common\Src 에 있다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP