전 Compute Shader 기반 입자 시스템을 구현하려고했습니다. D3D11_BUFFER_UAV_FLAG_COUNTER 플래그가있는 UAV를 사용하여 구조화 된 파티클 버퍼를 만드는 계산 쉐이더가 있습니다. 이 버퍼에 추가 할 때 필자는이 입자에 필터링 동작과 별도의 계산 쉐이더에서 수행 할 복잡한 동작이 있는지 확인합니다. 예를 들어, 파티클이 충돌
내 쉐이더 코드 (HLSL)에 문제가 있습니다. "Managed Code에 DirectX 사용"및 Shader Model 3.0을 사용합니다. 나는 픽셀 셰이더의 출력 구조체의 의미 론적 깊이를 사용하여 깊이 버퍼에 사용자 정의 깊이 값을 작성하려고 : struct PSOutput
{
float4 col : COLOR0;
float de
Visual Studio 2012가 출시되면서 D3DCompile의 새 버전 인 D3DCompile2 API가 추가되었습니다. 유일한 차이점은 D3DCompile2이 일부 "보조 데이터"와 관련된 몇 가지 추가 매개 변수를 사용한다는 것입니다. 이 데이터의 성격은 문서에서 논의되지 않았으며 주변을 인터넷으로 검색 한 결과 아무 것도 발견되지 않았습니다. D
안녕하세요 거리 페이딩을 추가하려고하면 HLSL 코드가 제대로 작동하지 않습니다. 나는 이것을 시도했다 : Output.Color = baseColor*(diffuseLightingFactor + xAmbient * (1/xDistance));
이를 : diffuseLightingFactor *= 1/xDistance;
xDistance 카메라와 모
나는 uint 배열로부터 생성하는 텍스처 맵을 가지고 있습니다. 내 픽셀 쉐이더에서 샘플링하면 색상이 올바르게 나오게됩니다. 다음은 관련 HLSL입니다. Texture2D textureAtlas : register(t8);
SamplerState smoothSampler : register(s9)
{
Filter = MIN_MAG_MIP_LIN
DXGI_FORMAT_R32_FLOAT로 포맷 된 2D 텍스처가 있습니다. 내 픽셀 쉐이더에서 나는 thusly 히 그것에서 샘플 : 경고 X3206 :이 다음 컴파일러 경고 결과 float sample = texture.Sample(sampler, coordinates);
을 나는에 의해 혼란 스러워요 벡터 형식의 암시 적 절단 이. Sample은 벡
두 개의 float 값을 단일 32 비트 부동 변수에 저장하고 싶습니다. 디코딩이 HLSL 셰이더에서 수행되는 동안 인코딩은 C#에서 발생합니다. 123.456 -> 12.3 and 45.6
그것은 할 수있는 ' 지금까지 발견 한 가장 좋은 방법은 하드 배선하여 인코딩 된 값에서 소수점의 오프셋 (offset)은 "캐리어"부동의 정수 및 소수로 저장입니
저는 C++과 DirectX 11을 사용하는 작은 렌더링 엔진을 작성하고 있습니다. 인덱스 된 정점을 사용하여 모델을 렌더링 할 수있었습니다. 이제 텍스쳐와 정점 법선도 지원하고 싶습니다. 나는 Wavefront OBJ 파일을 사용하고 있습니다.이 파일은 인덱스를 사용하여 올바른 텍스처와 표준 좌표를 참조합니다 (인덱스 된 정점과 비슷합니다). 정점, 텍스
텍스처에 사용할 간단한 SamplerState를 HLSL 파일에 정의하려고합니다. 쉐이더를 컴파일 할 때 , 오류가 발생합니다 : error X3004: undeclared identifier 'Filter'
출처 : // part of render.hlsl
SamplerState linear_sample=
{
Filter=MIN_MAG_M