ID3DXPRTEngine 인터페이스

ID3DXPRTEngine 인터페이스는 PRT(사전 계산된 광도 전송) 시뮬레이션을 계산하는 데 사용됩니다. 해당 메서드는 일반적으로 오프라인에서 실시간 3D 모델링 전에 꼭짓점당 또는 텍셀별 전송 벡터를 계산하는 데 사용됩니다.

멤버

ID3DXPRTEngine 인터페이스는 IUnknown 인터페이스에서 상속됩니다. ID3DXPRTEngine 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

ID3DXPRTEngine 인터페이스에는 이러한 메서드가 있습니다.

메서드 Description
ClosestRayIntersects PRT(사전 계산된 방사 전송) 시뮬레이션에서 효율적인 광선 추적을 사용하여 광선이 메시와 교차하는지 여부를 확인합니다. 교집합이 발견되면 메서드는 광선에 의해 적중된 가장 가까운 메시 얼굴의 인덱스와 교차점의 바리센트릭 좌표를 반환합니다.
ComputeBounce 반사된 광원의 단일 바운스로 인한 원본 광원을 계산합니다. 이 메서드는 SH(구면 고조파) 기반 PRT(사전 계산된 방사 전송) 모델을 포함하여 조명이 켜진 장면에 사용할 수 있습니다.
ComputeBounceAdaptive 적응 샘플링을 사용하여 반사된 광원의 단일 바운스로 인한 원본 광채를 계산합니다. 이 메서드는 PRT(사전 계산된 방사 전송) 신호를 보다 정확하게 근사화하기 위해 메시에 새 꼭짓점과 얼굴을 생성합니다. 이 메서드는 SH(구면 고조파) 기반 PRT 모델을 포함하여 조명이 켜진 장면에 사용할 수 있습니다.
ComputeDirectLightingSH 원본 광채가 SH(구면 조화) 근사치로 표현되는 3D 개체에 대한 직접 조명 기여도를 계산합니다.
ComputeDirectLightingSHAdaptive 적응 샘플링을 사용하여 원본 광채가 SH(구면 조화) 근사치로 표현되는 3D 개체에 대한 직접 조명 기여도를 계산합니다. 이 메서드는 PRT(사전 계산된 방사 전송) 신호를 보다 정확하게 근사화하기 위해 메시에 새 꼭짓점과 얼굴을 생성합니다.
ComputeDirectLightingSHGPU GPU를 사용하여 원본 광채가 SH(구면 고조파) 근사값으로 표현되는 3D 개체에 대한 직접 조명 기여도를 계산합니다. GPU의 조명 컴퓨팅은 일반적으로 CPU보다 훨씬 빠릅니다.
ComputeLDPRTCoeffs 입력 ID3DXPRTBuffer 데이터와 관련하여 최소 제곱 오류를 최소화하기 위해 샘플별 일반 벡터를 기준으로 지역적으로 변형 가능한 LDPRT(미리 계산된 반경 전송) 계수를 계산합니다. 이러한 계수를 스킨 또는 변환된 일반 벡터와 함께 사용하여 동적 개체에 대한 전역 효과를 모델링할 수 있습니다.
ComputeSS ID3DXPRTEngine::SetMeshMaterials에서 설정한 재질 속성을 사용하여 하위 표면 분산에서 발생하는 원본 광채를 계산합니다. 이 메서드는 메시 개체의 꼭짓점당 정의된 재질에만 사용할 수 있습니다.
ComputeSSAdaptive ID3DXPRTEngine::SetMeshMaterials에서 설정한 적응 샘플링 및 재질 속성을 사용하여 하위 표면 산란으로 인한 광도를 종료하도록 원본 광채를 매핑하는 전송 벡터를 계산합니다. 메서드는 PRT(사전 계산된 광도 전송) 신호를 보다 정확하게 근사화하기 위해 메시에 새 꼭짓점과 얼굴을 생성합니다. 이 메서드는 메시 개체의 꼭짓점당 정의된 재질에만 사용할 수 있습니다.
ComputeSurfSamplesBounce 임의 지점(및 일반 벡터)에 대한 PRT(사전 계산된 광도 전송) 샘플을 계산합니다.
ComputeSurfSamplesDirectSH 메시가 아닌 임의 지점에서 원본 광채(SH(구면 하모닉) 근사값으로 표현됨)를 매핑하여 광채를 종료하는 전송 벡터를 계산합니다.
ComputeVolumeSamples 이전 광원 바운스에서 지정된 위치에서 인시던트 광채를 나타내는 SH(구형 고조파) 기본 벡터로 직접 조명의 프로젝션을 계산합니다.
ComputeVolumeSamplesDirectSH 지정된 위치에서 인시던트 광채를 나타내는 SH(구면 조화) 기본 벡터로 원거리 조명의 프로젝션을 계산합니다.
ExtractPerVertexAlbedo 메시에서 꼭짓점당 albedo 값을 복사합니다.
FreeBounceData 임시 반송 조명 시뮬레이션 데이터에 사용되는 메모리를 해제합니다.
FreeSSData 임시 하위 표면 조명 분산 시뮬레이션 데이터에 사용되는 메모리를 해제합니다.
GetAdaptedMesh 적응 공간 샘플링으로 인해 수정된 메시를 반환합니다. 반환된 메시에는 위치, 노멀 및 텍스처 좌표(정의된 경우)만 포함됩니다.
GetNumFaces 적응 공간 샘플링의 결과로 추가된 새 얼굴을 포함하여 메시의 얼굴 수를 검색합니다.
GetNumVerts 적응 공간 샘플링의 결과로 추가된 새 꼭짓점을 포함하여 메시의 꼭짓점 수를 검색합니다.
GetVertexAlbedo 메시 꼭짓점의 albedo 값을 검색합니다.
MultiplyAlbedo 각 PRT(사전 계산된 방사 전송) 벡터를 꼭짓점별 albedo를 곱합니다.
ResampleBuffer 입력 ID3DXPRTBuffer 버퍼 를 다시 샘플링하고 출력 버퍼에 저장합니다. 이 메서드는 꼭짓점 버퍼를 텍스처 버퍼로 변환하는 데 사용할 수 있으며 그 반대의 경우도 마찬가지입니다. 단일 채널 버퍼를 3채널 버퍼로 변환하는 데도 사용할 수 있으며 그 반대의 경우도 마찬가지입니다.
RobustMeshRefine 메시의 얼굴을 세분화하여 메시의 기능을 제거하지 않는 보수적인 적응 샘플링을 허용합니다.
ScaleMeshChunk 지정된 하위와 연결된 모든 샘플의 크기를 조정합니다. 메서드는 하위 표면 분산을 계산하는 데 유용합니다.
SetCallBack 완료된 SH(구형 고조파) 계산의 백분율을 계산하고 호출자에게 시뮬레이터를 중단하는 옵션을 제공하는 선택적 콜백 함수에 대한 포인터를 설정합니다.
SetMeshMaterials 3D 장면에서 메시 재질 속성을 설정합니다. 이 메서드를 사용하여 하위 표면 분산 매개 변수를 지정합니다.
SetMinMaxIntersection 3D 개체 간의 최소 및 최대 교집합 거리를 설정합니다. 이러한 거리 값은 개체가 빛을 숨기거나 반사할 수 있는 최소 또는 최대 거리를 제어하는 데 사용할 수 있습니다. 예를 들어 메서드를 사용하여 3D 모델의 주변 기능의 그림자를 제한할 수 있습니다.
SetPerTexelAlbedo 각 텍셀에 대한 albedo 값을 설정하여 이전 albedo 값을 덮어씁니다.
SetPerTexelNormal 텍스처 개체의 각 텍셀에 대한 일반 벡터를 설정합니다. 이 메서드는 메시에서 꼭짓점 법선 벡터를 저장하는 데 사용됩니다(또는 픽셀 기반 PRT(사전 계산된 방사 전송)가 계산되는 경우 보간된 꼭짓점 법선).
SetPerVertexAlbedo 각 메시 꼭짓점의 albedo 값을 설정하여 이전 albedo 값을 덮어씁니다.
SetSamplingInfo PRT(사전 계산된 방사 전송) 시뮬레이터에서 사용하는 샘플링 속성을 설정합니다.
ShadowRayIntersects PRT(사전 계산된 방사 전송) 시뮬레이션에서 효율적인 광선 추적을 사용하여 광선이 메시와 교차하는지 여부를 확인합니다. 일반적으로 지정된 지점이 그림자에 있는지 여부를 확인하는 데 사용됩니다.

 

설명

RGB에서 광도 값으로 변환하려면 다음 수식이 사용됩니다.

Luminance = R * 0.2125 + G * 0.7154 + B * 0.0721

ID3DXPRTEngine 인터페이스는 D3DXCreatePRTEngine 함수를 호출하여 가져옵니다.

LPD3DXPRTENGINE 형식은 ID3DXPRTEngine 인터페이스에 대한 포인터로 정의됩니다.

typedef interface ID3DXPRTEngine ID3DXPRTEngine;
typedef interface ID3DXPRTEngine *LPD3DXPRTENGINE;

요구 사항

요구 사항
헤더
D3DX9Mesh.h
라이브러리
D3dx9.lib

추가 정보

D3DX 인터페이스

D3DXCreatePRTEngine

사전 계산된 Radiance 전송(Direct3D 9)