D3DXMatrixDecompose 함수를 사용하면 되는데 매우 간단하다 필요로 하는 인자를 넣으면 알아서 값을 계산해준다. matWorld 변수에는 특정 값들을 얻기 위한 매트릭스를 넣어주면 된다. 아래처럼 쓰레기값이 들어가있는 매트릭스 넣으면 쓰레기값 매트릭스에는 어떤 회전값이 들어가있을까 하는 결과를.. 하단에 Syntax 를 보면 알겠지만 전부 포인터 형태로 들어가는데 그렇다고 해서 필요없는 인자라고 NULL을 넣을 경우에는 하얗게 질리는 화면을 볼 수가 있다 Breaks down a general 3D transformation matrix into its scalar, rotational, and translational components. Syntax C++ Copy HRESULT D3DX..
HLSL 프로그램은 ASCII 문자 형태로만 작성이 되면 된다. 프로그래밍 하는 코드 안에 문자열로 코드를 포함하는것도 가능하다. D3DXCompileShader 함수를 이용하여 다음과 같이 컴파일하며 (D3DXCompileShader : 컴파일된 셰이더 코드를 리턴한다. 실패했을 경우에는 LPD3DXBUFFER 타입 변수( pError )에 오류코드와 메세지 문자열을 담아 E_FAIL을 리턴한다) 컴파일된 셰이더코드를 가져다가 이렇게 셰이더를 만들어준 후 이용했던 pShader 를 해제해준다. 그치만그치만그치만 모듈화/ 편리함의 측면에 있어 프로그래밍코드와 셰이더코드는 분리를 하는것이 바람직하다 .txt .fx등의 파일형태로 저장하고 프로그래밍 코드에서는 해당파일로 셰이더를 로딩해오기만 하자 D3DXC..
http://gpgstudy.com/forum/
Evaluates an expression and, when the result is false, prints a diagnostic message and aborts the program. Syntax Copy assert( expression ); void _assert( char const* message, char const* filename, unsigned line ); void _wassert( wchar_t const* message, wchar_t const* filename, unsigned line ); Parameters expression A scalar expression (including pointer expressions) that evaluates to nonzero (t..
쉐이더 3차원 오브젝트를 화면에 그리기 위해 광원, 재질 등을 적절히 연산하여 주는 함수 쉐이딩 셰이딩 위의 함수를이용하여 처리해주는과정 쉐이더 프로그래밍 우리가 Direct3D 에게 맡겨놓았던 고정된 기능들 ex ) D3DDevice->SetRenderState() D3DDevice->SetTransform( ) 을 대신 처리하는 함수들을 작성하고 이를통해 출력할 수 있도록 해주는 직접작성한 쉐이더를 적용하는것은 직접 렌더링 파이프라인을 제어하는것이고 기존 direct3d가 계산해내던 고정 기능대신 훨씬더 드라마틱한 렌더링을 위한 다양한 테크닉들을 마음대로 적용할 수 있다는것을 뜻한다. HLSL (High Level Shading Language) 고수준 셰이딩 언어 direct3d의 고정된 기능들을 ..