다음을 통해 공유


ID3DXEffect::SetRawValue 메서드

메모리 복사본을 사용하여 연속된 셰이더 상수 범위를 설정합니다.

구문

HRESULT SetRawValue(
  [in] D3DXHANDLE Handle,
  [in] void       *pData,
  [in] DWORD      OffsetInBytes,
  [in] DWORD      Bytes
);

매개 변수

핸들 [in]

형식: D3DXHANDLE

설정할 값 또는 문자열로 전달된 값의 이름에 대한 핸들입니다. 핸들을 전달하는 것이 더 효율적입니다. 핸들(Direct3D 9)을 참조하세요.

pData [in]

형식: void*

설정할 데이터를 포함하는 버퍼에 대한 포인터입니다. SetRawValue는 유효한 메모리를 검사하지만 유효한 데이터를 확인하지는 않습니다.

OffsetInBytes [in]

형식: DWORD

효과 데이터의 시작 부분과 설정하려는 효과 상수의 시작 사이의 바이트 수입니다.

바이트 [in]

형식: DWORD

설정할 버퍼의 크기(바이트)입니다.

반환 값

형식: HRESULT

메서드가 성공하면 반환 값이 S_OK. 메서드가 실패하면 반환 값은 다음 중 하나일 수 있습니다.E_INVALIDCALL.

설명

SetRawValue는 유효성 검사 또는 데이터 변환(예: 행 주 행렬을 열 주 행렬로 변환)을 수행하지 않고 메모리 복사를 수행하기 때문에 효과 상수를 설정하는 매우 빠른 방법입니다. SetRawValue를 사용하여 일련의 연속 효과 상수를 설정합니다. instance 경우 ID3DXBaseEffect::SetMatrix에 대한 호출 20개 또는 단일 SetRawValue를 사용하여 20개의 행렬 배열을 설정할 수 있습니다.

모든 값은 matrix4x4s 또는 float4s여야 하며 모든 행렬은 열 중심 순서여야 합니다. int 또는 float 값은 float4로 캐스팅됩니다. 따라서 float4 또는 matrix4x4 데이터만 있는 SetRawValue를 사용하는 것이 좋습니다.

요구 사항

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

추가 정보

ID3DXEffect