DirectX Spotlight 예제를 고려하는 데 문제가 있습니까?

지금 컴퓨터를 수리하세요.

  • 1단계: ASR Pro 다운로드 및 설치
  • 2단계: 프로그램을 열고 "PC 스캔"을 클릭합니다.
  • 3단계: "지금 복구"를 클릭하여 복구 프로세스 시작
  • 이 쉽고 무료 다운로드로 오늘 컴퓨터 속도를 높이십시오.

    DirectX Spotlight 예제를 발견했다면 이 블로그 게시물이 개인에게 도움이 되었으면 합니다.

    <사전>

    ##소개##이 튜토리얼에서 제 배우자와 저는 또 다른 하이라이트를 만드는 방법을 배울 것입니다. 우리는 이 귀중한 프로젝터를 카메라에 사용합니다. 이 튜토리얼은 사실 ego의 웹캠 튜토리얼을 기반으로 합니다.##스포트라이트 팩터##스포트라이트는 단순히 단위를 표시하지만 방향은 하나입니다. 이러한 이유로 모든 프로젝터의 원뿔 크기를 나타내는 단일 값과 방향만 추가하여 최소 포인트 구현을 바로 생성해 보겠습니다.##방향##이것은 우리 코드에서 dir이라는 3D 벡터로 표시됩니다. 여기서 처음 값은 소프트웨어 축의 뒤로 버튼이고, 두 번째 값은 각 ymca 축이고, 세 번째 값은 진정한 unces 축입니다. 원하다##원뿔##원뿔은 의심할 여지 없이 원뿔이라고 하는 실제 방황 값으로 우리 전략에서 표현됩니다. 이 값은 가장 강조 표시된 방정식의 특정 측정값입니다. 이것을 업데이트함으로써 우리는 헤드 라이트의 원뿔 영역을 변경하고 있습니다. 낮은 비율은 훨씬 더 많은 원뿔에 해당하고 더 높은 값은 더 작은 원뿔을 따라갑니다.##스포트라이트 방정식##캔 스포트라이트는 점 방식 광원에 의해 생성되므로 점 광원을 선호하는 방향이 아니라 코일을 통해 특정 방향으로 빛을 방출하는 추가 방정식을 추가하는 데 도움이 필요합니다.##조명 원뿔 정의##다음은 우리 팀이 마커 디렉토리에 추가할 유일한 새로운 상황입니다. 이것은 우리의 빛이 어떤 종류의 빛을 비출 것인지를 통해 코일을 만듭니다.첫째, 우리는 광원 사이에서 우리 자신의 방향의 위치를 ​​찾아야 하고 특정 픽셀에서 특정 빛의 방향을 찾아야 합니다. 우리는 그것을 찾기 위해 운송 제품 리그를 사용합니다.그런 다음 직원들이 0.0f보다 감소된 스칼라 곱을 얻지 못하도록 max 함수를 사용한다고 말하고 싶습니다. 헤드라이트가 있는 이 위치 뒤에는 0.0f 미만의 거의 모든 지점이 있으므로 일반적으로 첫 번째 헤드라이트뿐만 아니라 헤드라이트에서도 밝은 빛이 어떻게 되는지 알 수 있습니다.마지막으로 지수로 말씀드리자면 실제 라이트 콘 값 함수와 함께 앞머리를 사용합니다. 이것으로 경량 원뿔을 정의하는 방정식이 완성됩니다.finalColor *= pow(max(dot(-lightToPixelVec, light.dir), 0.0f), light.cone);##가벼운 구조##고객이 볼 수 있듯이 우리 회사는 단순화된 구조를 변경하여 실제로 두 명의 새로운 구성원을 구축한 것으로 보입니다. 하나는 핸들바용이고 하나는 이 구별 콘용입니다. 건설 조명 광택() ZeroMemory(this,sizeof(Light)); XMFLOAT3pos; 부동 지역; XMFLOAT3 디렉토리; 원추형 플로트; XMFLOAT3at; 위치 2; XMFLOAT4 환경; XMFLOAT4 번역; ;##주요 씬 소스에 대한 설명##여기 우리는 우리의 단맛을 설명합니다. 위치를 0,1,0으로 설정하고(보통 나중에 개선하기 때문에 전체 크기 거래 없음), 범위는 1000.0f로 설정합니다(그래서 모니터 표시기를 어떻게든 “클리핑”하지 않음), att0 감쇠 0.4f(이 빛이 카메라에 밀봉될 때 너무 밝아지는 것을 의미하지 않음) 및 att1은 기본적으로 0.02f이므로 단일 일정한 감쇠량을 찾을 수 있습니다. 그러면 전 세계 사람들이 원뿔을 최고로 설정합니다. 값은 20.0f입니다.불행히도 이들 모두는 잠재적으로 개인의 필요에 맞게 자동으로 편집될 수 있다는 점을 염두에 두십시오. 이러한 이유로 인해 자신의 조명이 정확히 유연하다는 것을 빠르게 알 수 있습니다. 이러한 종류의 사람들과 함께 플레이하여 그들이 일하는 방식을 이해하십시오.light.pos는 XMFLOAT3(0.0f, 1.0f, 0.0f)와 같습니다.light.dir = XMFLOAT3(0.0f, 0.0f, 1.0f);밝은 영역 = 1000.0f;라이트.콘 20.0f;light.att는 XMFLOAT3(0.4f, 0.02f, 0.0f)와 같습니다.주변광 = XMFLOAT4(0.2f, 0.2f, 0.2f, 1.0f);빛.확산 = XMFLOAT4(1.0f, 1.0f, 1.0f, 1.0f);##보통 조명의 위치 업데이트##우리는 이 헤드라이트를 새로운 플래시 라이트로 사용할 것이므로 상단 카메라가 가리키는 방향으로 지지 원뿔을 가리키고 싶습니다. 다른 지침에서는 포인트 앤 슛 카메라가 조준하는 방향으로 벡터. 우리는 또한 손전등 장면이 카메라의 이 메서드 위치를 차지하기를 원합니다. 이 고유한 이유로 카메라와 연결된 고용 벡터를 사용할 것입니다. 이것은 확실히 모든 장면에서 업데이트되어야 하므로 일반적으로 이 코드를 updateScene 함수에 넣습니다.light.pos.x는 XMVectorGetX(camPosition)와 같습니다.light.pos.y = XMVectorGetY(캠포지션);light.pos.z = XMVectorGetZ(캠포지션);light.dir.x는 light.pos.x 이후 XMVectorGetX(camTarget)를 의미합니다.light.dir.y = XMVectorGetY(camTarget) – light.pos.y;light.dir.z = XMVectorGetZ(camTarget) – light.pos.z;##효과 파일##새로운 HLSL 스포크 구조를 소개합니다. 이제 프레임워크 과정과 현재 테이퍼를 위한 부동 소수점 값이 있습니다. 건설 조명 float3pos; 부동 지역; float3 디렉토리; 원추형 플로트; float3att; Float4 환경; 확산 float4; ;여기에 우리의 새로운 PS 장면이 어떤 유형이 관심의 중심인지 의심의 여지가 없습니다. 우리는 당신이 그것을 생각하지 않았다고 생각한다면, 당신이 연구할 수 있도록 그것이 하는 일을 위에 나열했습니다. 위에서 확인하고 댓글에서 문제를 바로 확인하십시오. one 픽셀 셰이더의 유일한 새로운 이점은 맨 아래에 있는 새로운 명령 방정식에서 비롯됩니다. float4 PS(입력 VS_OUTPUT): SV_TARGET { input.normal = normalize(input.normal); float4 dispel은 ObjTexture.Sample(ObjSamplerState, input.TexCoord); 최종 색상 float3 = float3(0.0f, 0.0f, 0.0f); // 작은 벡터의 위치와 픽셀의 위치 사이에 위치 생성 float3 lightToPixelVec은 light.pos – input.worldPos와 같습니다. // 조명 위치와 픽셀 위치를 사용하여 거리 찾기 플로트 케미컬은 길이와 동일합니다(lightToPixelVec). // 주변광 추가 float3 finalAmbient는 diffuse * light.ambient와 같습니다. // 픽셀이 너무 멀면 주변광이 있는 픽셀을 반환합니다. ( d > light.range ) 반환 Float4(finalAmbient, diffuse.a); // lightToPixelVec을 설명적 공간 공간 벡터로 변환 //위치에서 l 방향 램프

    이 쉽고 무료 다운로드로 오늘 컴퓨터 속도를 높이십시오.