hlsli 내용이 이해가 안갑니다
370
작성한 질문수 31
강의에 나온 쉐이더 부분의 코드를 보다가,

원래 코드는 ouput.color += offset1로 되어있었는데, offset0으로 해서 실행해 보았습니다. 그런데 최종 결과는 여전히 같더군요.
<실행 결과>

offset0이 의미하는것과 offset1이 의미하는것이 무엇인지 궁금합니다.
그리고

위와 같이 TEST_B0와 B1은 각각 다른 버퍼와 연결된 레지스터들을 의미한다고 이해했는데, 그 오른쪽에 b0과 b1은 해당 레지스터를 말하는거구요.
그렇다면 offset0은 b0에 해당하는 내용이므로, 밑의 VS_Main 함수 내부에서 color값을 조정할때는 offset0으로 색깔을 조정해줬어야 한거 같은데, 강의에서는 이 부분에 대해서 offset1로 색깔은 다르게 지정하셨는데 이유가 뭘까요?

그리고 위의 사진과 같이 원래라면 VS_Main은 들어오는 변수가 b0에 대한 내용인지 b1인지를 구별하기 위해서 offset0과 offset1을 if문 같은 조건문으로 구별해서 설계를 했어야 할것 같은데, 그 문법이 따로 없이 알아서 동작하는것이 이해가 안갔습니다. 쉐이더 문법이란걸 알지만, 이 부분에 대해서 간단하게라도 설명해주시면 감사하겠습니다!
답변 1
1
이 내용물 안에서 첫번째 4바이트를 offset0라고 이름 붙여서 접근하는 것이고
이 이름은 무엇이 되더라도 상관없습니다. (whoami 로 해도 OK)
물체를 그릴 때 b0 레지스터의 값을 각기 다른 값으로 설정을 해뒀기 때문에,
각기 결과가 달라지게 됩니다. (C++ 코드 확인 필요)
즉, 쉐이더는 모든 물체를 한 번에 그리는게 아니라
물체마다 하나씩 하나씩 돌아가면서 그리는 것이라고 생각하시면 됩니다.
쉐이더는 앞으로 계속 나오니 지금은 잘 이해가 간다면 넘어가셔도 됩니다.
Lighting 추가하고 나니 프레임이 많이 떨어지는데 원래 이런 건가요?
0
524
0
Deferred Rendering 에서 조명에 Culling이 일어나는 것 같습니다.
1
563
1
static_pointer_cast와 static_cast의 차이가 무엇인가요?
0
1353
1
Engine.lib 파일을 포함 불가
0
617
1
셰이더 VS_Main에서 행렬 곱해줄 때
0
491
2
1:05분 질문(1시간 5분)
0
303
0
오류가 발생합니다
0
479
1
Animation코드가 무한로딩에 걸리네요
0
350
0
fov 관련해서 질문이 있습니다
0
282
0
normal mapping Tangent Space 수학식 질문
0
388
1
커리큘럼 관련 질문 드립니다!
0
278
0
강의를 어떤식으로 들으면 될까요??
0
385
1
머티리얼과 텍스쳐, 셰이더를 따로 관리해도 되나요?
0
444
1
박스 메쉬 생성하는 함수에서 버텍스가 왜 24개인가요
0
245
1
복수개의 서로 다른 동영상을 Picture in Picture 형식으로 rendering하는 가장 최적의 방법이 궁금합니다.
0
262
0
애니메이션 쉐이더에서 행렬보간 부분에 대해 질문드립니다
0
233
0
assert 에서 _currentIndex 와 _elemtSize 를 비교하는게 이해가 잘 안되네요
1
248
1
DX 공부방법에 대해서 질문 있습니다.
0
643
1
Root Parameter 를 정의하는데 있어서 질문있습니다.
0
377
1
Client 콘솔창이 잠깐 켜졌다가 말아요
0
255
1
DirectX12 Root Signature : CBV관련 질문입니다.
0
353
1
뷰 변환 행렬 관련하여
0
632
2
강의 시작!
0
306
1
using namespace Microsoft::WRL;
0
275
1





