안녕하세요 저는 방향 표시등과 스팟 라이트에 대해 그림자 매핑을 수행했습니다. 그러나 나는 스스로 해결할 수없는 매우 큰 버그가 있습니다. 기본적으로 스포트 라이트는 손전등으로 작동하며, 내가 서 있으면 모든 것이 정상입니다. 그러나 만약 내가 움직이거나 돌아 서면 그림자 맵처럼 보이지는 않는다. 사진에 내가 의미하는 바를 보여 주어야합니다. 문제는 내가
난 그림자 매핑으로 뒤죽박죽을 시작했다. 나는 사용 된 알고리즘을 이해한다. 문제는 내가 HLSL 코드에서 어수선한 곳인지 알아낼 수 없다는 것입니다. 여기에 있습니다 : //These change
float4x4 worldViewProj;
float4x4 world;
texture tex;
//These remain constant
float
나는 스포트라이트 그림자 맵핑을 관리하는 3D 어플리케이션을 코딩했다. 이렇게하려면 고전적인 그림자 매핑 기법을 사용합니다 (첫 번째 렌더링 패스에서 깊이 텍스처를 채 웁니다. 두 번째 렌더링 패스에서 빛으로부터 첫 번째 오 클 루더까지의 거리를 비교하고 빛에서 정점 위치까지의 거리를 비교하여 내 조각이 그림자에 있거나 없는지). 나는 기능 'texture
지향성 투영을위한 작업용 섀도우 맵 구현이 있습니다. 여기에서 직교 투영을 사용하여 투영 행렬을 구성합니다. 내 질문은 어떻게 그림자 맵을 시각화합니까? 나는 스포트라이트 (투시 투영법을 사용함)에 사용하는 다음 셰이더를 가지고 있지만, 정사영 투영으로 만들어진 섀도우 맵에 적용하려고하면 완전히 검정색 화면이됩니다 (그림자 맵핑이 작동하더라도 장면 자체)
이전에 보지 못했던 어려운 그림자로 내가 사용했던 텍스처의 어두 침침한 색상으로 인해 이상한 동작을 보입니다. 1) Shadowmap 160 * 120 당신이 볼 수 있듯이, 큐브의 표면에 치아의 종류가 있습니다 : 여기에 3 가지 shadowmap 해상도와 내 문제의 일부 스크린 샷입니다. shadowmap 여기 것 : 2) Shadowmap 640 *
여기 내 문제의 부팅합니다. 텍스트의 그림자가 없어야하며 shadowMap 해상도를 변경했지만 아무 것도 변경되지 않습니다. var materialArray_Flying = [
new THREE.MeshPhongMaterial({ color: 0xff00ff, ambient: 0xff00ff }), //face
new THREE.Mes
기본 쉐도우 매핑 알고리즘을 구현했지만 하나의 라이트에서만 올바르게 작동합니다. 나는 다음과 같은 두 가지 점 조명 장면을 렌더링 할 : Light_1 - 위치 : VEC3 (-8.0f, 5.0f, 8.0f)를, 방향 : VEC3 (1.3f, -1.0f, -1.0f) Light_2 - 위치 : VEC3 (8.0f, 5.0f, 8.0f), 방향 : VEC3은
표면이 빛의 방향과 거의 평행 할 때 이런 종류의 원근감 앨리어싱을 제거하는 것은 불가능한 것처럼 보입니다. 상수 바이어스가 작동하지 않습니다 : 나는 여러 가지 그림자 여드름 제거 기술을 테스트 한 피터는이 문제를 슬로프 규모의 편견을 제거하기에 충분히 큰 편견에 패닝 소개 완전히 작동하지 않고 약간만 문제가 줄어 듭니다. 일반적인 오프셋 그림자가 적용되
나는 XNA 3.0 (한숨, 알고있다.)과 함께 작업하고 있으며 스포트 라이트가 토러스를 치고 딱딱한 그림자를 투사하는 오브젝트로 3D 장면을 구현하는 데 유용한 튜토리얼을 준비 중이다. . 자, 내가 그 그림자를 부드럽게하기 위해 도움을받을 수있는 곳 (튜토리얼, 소스 코드, 스 니펫)을 알고 싶습니다.
제 그래픽 엔진을위한 그림자 맵 쉐이더를 작성했습니다. 나는이 자습서를 따라 갔다 : Part 1 그리고 그 다음 부분. 불행히도, 내가 얻은 결과는 꽤 떨어져 있습니다. 다음은 screenshots입니다. 그들은 내 장면이 정상적으로 보이는지, 그림자가있는 장면과 그림자 맵의 내용을 보여줍니다 (중심부에있는 흰 물건은 무시하십시오. 오리의 기하학적 의미입