Metal fixes
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -314,7 +314,7 @@ void createBasis(vec3 normal, out vec3 tangent, out vec3 binormal) {
|
||||
";
|
||||
|
||||
public static var str_shIrradiance = "
|
||||
vec3 shIrradiance(const vec3 nor) {
|
||||
vec3 shIrradiance(const vec3 nor, const vec4 shirr[7]) {
|
||||
const float c1 = 0.429043;
|
||||
const float c2 = 0.511664;
|
||||
const float c3 = 0.743125;
|
||||
|
||||
@@ -101,7 +101,7 @@ class Context {
|
||||
public static var decalImage: Image = null;
|
||||
public static var decalPreview = false;
|
||||
public static var viewportMode = ViewLit;
|
||||
#if (krom_android || krom_ios || krom_darwin)
|
||||
#if (krom_android || krom_ios)
|
||||
public static var renderMode = RenderForward;
|
||||
#else
|
||||
public static var renderMode = RenderDeferred;
|
||||
|
||||
@@ -384,7 +384,7 @@ class MakeMesh {
|
||||
frag.add_uniform('float envmapStrength', '_envmapStrength');
|
||||
frag.add_uniform('vec4 shirr[7]', '_envmapIrradiance');
|
||||
frag.add_function(MaterialFunctions.str_shIrradiance);
|
||||
frag.write('vec3 indirect = albedo * (shIrradiance(wn) / 3.14159265);');
|
||||
frag.write('vec3 indirect = albedo * (shIrradiance(wn, shirr) / 3.14159265);');
|
||||
frag.write('indirect += prefilteredColor * (f0 * envBRDF.x + envBRDF.y) * 1.5;');
|
||||
frag.write('indirect *= envmapStrength * occlusion;');
|
||||
frag.write('fragColor[1] = vec4(direct + indirect, 1.0);');
|
||||
|
||||
@@ -67,7 +67,11 @@ class RenderPathDeferred {
|
||||
t.name = "buf";
|
||||
t.width = 0;
|
||||
t.height = 0;
|
||||
#if kha_direct3d12
|
||||
t.format = "RGBA64"; // Match raytrace_target format
|
||||
#else
|
||||
t.format = "RGBA32";
|
||||
#end
|
||||
t.scale = Inc.getSuperSampling();
|
||||
path.createRenderTarget(t);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user