/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Data/Base/Shaders/Materials/ReflectionProbeVisualization.ezShader
76 строк
1 KB
C-Core
Render instance data refactor (#1713)
19 ноя 2025, 20:31
Не верифицирован
19 ноя 2025, 20:31
b8e6103
Код
Авторство
О чём код?
[PLATFORMS] ALL [PERMUTATIONS] BLEND_MODE = BLEND_MODE_OPAQUE RENDER_PASS TWO_SIDED = FALSE FLIP_WINDING = FALSE SHADING_MODE = SHADING_MODE_FULLBRIGHT SHADING_QUALITY = SHADING_QUALITY_NORMAL CAMERA_MODE [MATERIALPARAMETER] int MipLevel @Default(0); int ReflectionProbeIndex @Default(0); [RENDERSTATE] #include <Shaders/Materials/MaterialState.h> [SHADER] #define USE_NORMAL [VERTEXSHADER] #include <Shaders/Materials/MaterialVertexShader.h> VS_OUT main(VS_IN Input) { return FillVertexData(Input); } [PIXELSHADER] #include <Shaders/Materials/MaterialPixelShader.h> float3 GetNormal() { return G.Input.Normal; } float3 GetDiffuseColor() { ezPerInstanceData data = GetInstanceData(); float3x3 objectToWorld = TransformToRotation(data.ObjectToWorldNormal); float3 normal = normalize(G.Input.Normal); float3 viewDir = normalize(G.Input.WorldPosition - GetCameraPosition()); float3 ReflDirectionWS = reflect(viewDir, normal); ReflDirectionWS = mul(ReflDirectionWS, objectToWorld).xyz; float3 reflectionDir = CubeMapDirection(ReflDirectionWS); float probeIndex = data.CustomData.x; float mipLevel = data.CustomData.y; return ReflectionSpecularTexture.SampleLevel(LinearSampler, float4(reflectionDir, probeIndex), mipLevel).rgb; } float3 GetSpecularColor() { return 0.0f; } float GetRoughness() { return 1.0f; } float GetOpacity() { return 1.0f; }