반응형

Map 함수를 통해서 vertex 버퍼를 잠글려고 하는데 S_OK가 아니라 E_INVALIDARG 결과가 떴다

 

 

알고보니 Usage, CPUAccessFlags 

부분을 아래와 같이 수정해줬어야 했다

 

 

 

 

Usage 부분이 어떤 역할을 하는지 알아봤다

 

 

 

D3D11_USAGE_DEFAULT :

GPU에 의해 read/write 가능, CPU 에서 접근 불가

종종 변경하기도 하는 자원에 가장 최적

렌터 타겟 텍스처, 스트림 출력 vertex buffer

 

D3D11_USAGE_IMMUTABLE :

GPU에 의해 read only, CPU에서 접근 불가

반드시 생성할때 초기화 되어야함, 생성후 변경 불가 

 

D3D11_USAGE_DYNAMIC :

GPU 에서 read 가능, CPU 에서 write 가능

CPU가 자원의 내용을 생산하고 GPU가 자원의 내용을 읽어들임, CPU는 못함,

매프레임 마다 CPU 에서 업데이트 할 때 사용함, Map을 해서 업데이트함

상수버퍼

 


D3D11_USAGE_STAGING :

GPU 에서 CPU로 데이터 이동(복사)를 지원함, GPU에서 자료를 계산, 조작하고, 저장하거나 CPU로 읽어들여야 하는 경우 사용됨, 

반응형
반응형

위 그림을 보면 tex의 자료형이 float 로 되어있다 그덕분에 위처럼 나온다

아래처럼 float2로 만 해줘도 제대로 나올수 있다, hlsl은 이런 오타로 인한 버그를 조심해야 되는것 같다

 

반응형
반응형

윈도우 제목이 한글자만 로딩되는 버그다, 그림에서는 Project1 로딩되어야 하는데

한글자만 로딩되고 있다, 알고보니

세팅을 손보면서 Preprocessor Definitions 부분을 지워버렸다, 사실 이부분에

 

 아래와 같은

 

_UNICODE;UNICODE;

 

매크로가 들어가야 유니코드 함수를 온전히 사용할 있다, 매크로가 없을 경우 빌드에는 문제 없지만, 위와같은 버그가 발생한다.

반응형

+ Recent posts