반응형

아래 코드는 char 문자열을 wchar_t 문자열로 

wchar_t 문자열을 char 문자열로 바꿔주는 코드이다 

 

#include <stringapiset.h>

void char_to_wchar(const char* input_str, wchar_t* output_wstr)
{
	int strSize = MultiByteToWideChar(CP_UTF8, 0, input_str, -1, NULL, NULL);
	MultiByteToWideChar(CP_UTF8, 0, input_str, strlen(input_str) + 1, output_wstr, strSize);
}


void wchar_to_char(const wchar_t* input_wstr, char* output_str)
{
	int strSize = WideCharToMultiByte(CP_UTF8, 0, input_wstr, -1, NULL, 0, NULL, NULL);
	WideCharToMultiByte(CP_UTF8, 0, input_wstr, -1, output_str, strSize, 0, 0);
}
반응형
반응형

어처구니 없는 경우는 보통, 오타로 인한 실수가 많은데, 이번에 hlsl 파일을 작성 하면서

발생한 경우다

 

Diffuse, Normal, Specular 샘플 파일들이 적절히 어우러진 결과가 나와야 하는데, Specular 샘플만 나오고 있다

어떠한 경고메시지나 에러메시지도 안나오고, 작성한 hlsl 파일에도 문제 없어 보였는데, 알고보니 정말 한 글자 차이로 발생한 문제였다,,,

 

 

 

정상 작동 화면

위에 코드를 보면 주석처리 한 코드가 실수 코드인데 자세히 보면, * 를 해야 되는데 +를 타이핑 한것이다, 아마도 글자가 너무 작아서 보이지 않았던 것 같다, 이런 경우들을 겪게 되면, 언리얼 엔진에서 Material을 만들때 마인드 맵처럼 작성하기 편하게 되어있는 시스템이, 이런 어처구니 없는 오타를 줄여주는 이점도 있는 것 같다, 이거때문에 4일을 날리다니 ㅠㅠ

 

 

 

언제나 에러메시지, 경고메시지도 안나오는데, 의도한 결과대로 안나온다면, 오타를 의심하자

반응형
반응형

반응형
반응형

반응형
반응형

반응형
반응형

 

Phong Pixel Shader를 적용했는데도 도형에 전혀 적용되지 않음

 

알고보니

hlsl 파일을 만들면 맨 밑에 기본으로 나오는 진입점 함수(entry point function)을 지워 주지 않음, 그래서 결국 맨 밑의 기본값 진입점 함수를 실행함, 문제는 어떠한 에러 메시지도 나오지 않아서 찾기 어려웠음, entry point function 이 2개 이상일 경우 경고 메시지가 나올법도 한데, 전혀 없었음, 다음에도 주의가 필요할 듯

 

 

 

정상 실행 결과

반응형
반응형

 

반응형
반응형

상자를 80 모두 랜덤 값으로 생성해서 보여주는 코드 그러나

아래처럼 하나의 상자 보임, 80개가 보여야함

코드를 분석해보니, 80개가 생성되기는 했는데 튜토리얼 코드와는 다르게

모두 일정한 값을 보이고 있음

 

 

원인

std::mt19937 을 전달할 때는 꼭 레퍼런스로 전달해야함, 그렇지 않으면 랜덤값을 전달할 때마다, std::mt19937  내부에 있는 랜덤 값 배열 인덱스가 바뀌지 않음, 즉 같은 값만 전달이됨

 

 

 

std::mt19937 개체를 pass by value 로 했을경우

_Idx 가 바뀌지 않는다

 

 

pass by reference

_Idx가 바뀌고 있다

 

 

 

정상 실행 결과

반응형
반응형

ConstantBuffer 를 통해 오브젝트를 회전시키는 코드를 구현한뒤 실행 해봤는데

아래와 같이 오브젝트가 아예 출력되지 않았다

에러도 안발생하고 코드에 별다른 이상이 없어 보였는데

 

정말 어처구니 없게 209번 라인에서 한글자 차이로 발생한 것이었다 즉, VSSetConstantBuffers() 함수를 호출해야 되는데 VSGetConstantBuffer() 함수를 호출해서 벌어진 일이었다

 

 

 

정상 작동, 버그를 찾아내기 위해 몇시간이 걸렸지만 원인은 G 와 S 딱 한글자 오타였다는게 참;;;

반응형
반응형

 

 

 

PixelShader, VertexShader 수정

Vertex에 색상값(R,G,B) 추가

 

D3D11_INPUT_ELEMENT_DESC 수정

 

 

gif 를 캡쳐했더니 아래와 같이 색상 부분이 실시간으로 변하는게 보인다

아래 그림은 스샷을 찍은 것이다

반응형

+ Recent posts