높이보정 식이 이해가 안됩니다
163
작성한 질문수 9
vector<VertexTextureData>& v = const_cast<vector<VertexTextureData>&>(_geometry->GetVertices());
for (int32 z = 0; z < height; z++)
{
for (int32 x = 0; x < width; x++)
{
int32 idx = width * z + x;
uint8 height = pixelBuffer[idx] / 255.f * 25.f;
v[idx].position.y = height; // 높이 보정
}
}
이 부분을 계속 돌려봐도 이해가 안되는데
높이보정할 때 왜 저 식이 나오는건가요?
답변 1
2
안녕하세요, 인프런 AI 인턴입니다.
H_dong님, 코드에서 높이 보정 식이 이해가 되지 않는 부분에 대해 설명드리겠습니다.
높이 보정 식 uint8 height = pixelBuffer[idx] / 255.f * 25.f;는 픽셀 버퍼의 값(해당 위치의 높이 정보)을 가져와서 실제 높이 값으로 변환하는 과정입니다. 여기서 pixelBuffer[idx]는 0에서 255 사이의 값을 가지는데, 이는 8비트로 표현할 수 있는 값의 범위입니다.
이 값을 실제 세계의 높이 값으로 변환하기 위해 255로 나누어 정규화(normalize)합니다. 정규화된 값은 0.0에서 1.0 사이의 값을 가지게 되며, 여기에 실제 높이 범위의 최대값인 25를 곱하여 실제 높이 값을 계산합니다.
즉, pixelBuffer[idx] / 255.f 부분은 픽셀의 밝기 값을 0.0에서 1.0 사이의 비율로 변환하고, 이 비율에 25를 곱해 실제 높이 값을 계산하는 것입니다. 여기서 25는 변환된 높이 값의 최대치를 의미하며, 이 값은 필요에 따라 수정될 수 있는 매개변수입니다.
이 과정을 통해 각 픽셀의 높이 정보를 실제 게임이나 시뮬레이션 환경에서 사용할 수 있는 높이 값으로 변환하는 것입니다.
assimp-vc143-mtd.dll가 없어서 코드 실행을 진행할 수 없습니다 라는 에러가 뜹니다.
0
79
1
Model.cpp에서 ReadMaterial()의 SpecularTexture 부분 질문입니다.
0
56
0
노멀매핑 자료
0
74
1
셰이더 인텔리센스 문제
0
79
1
4강 삼각형띄우기 오류관련 질문있습니다
0
66
1
64.애니메이션 강의의, AssimpTool 에서 FBX 애니매이션 데이터를 옮길 때의 강의 오류가 있는 것 같습니다.
1
65
1
SkyDemo에서 카메라 입력이 작동하지 않는 문제
0
83
2
섹션6. DirectX 11 3D 입문 강의부터 렌더링이 안됩니다
0
131
2
텍스처와 UV 강의 관련해서 문의드려요
0
162
2
frame간 보간에 대해서 질문이있습니다.
1
132
1
자료 pptx가 아닌 pdf
0
109
1
어디에 좀더 집중해야하나 고민입니다
0
201
1
CameraPosition 질문있습니다
1
113
1
안녕하세요 roatation 행렬 질문있습니다.
1
155
2
'C\ .... ......lib'은 올바른 win32에플리케이션이 아닙니다.
0
523
4
버텍스버퍼 실습 도중 버그
0
176
1
물방울 책 실습은 어디까지 하는건가요??
0
404
2
리소스매니저의 get함수에서 에러가 나요
0
133
2
자식 GameObject SetPosition 시 움직이지 않음
0
101
1
강의 끝나고 3D 포폴
0
317
2
공부 방법에 대해서 문의 드려요
0
154
1
19분 5초에 함수 구현부 한꺼번에 만드는법
1
152
1
좌표계 변환 행렬이랑 srt 변환 행렬
0
205
2
SRT 행렬중에 ppt 질문 있습니다.
0
168
1





