c
This commit is contained in:
parent
3c2d3c6fd6
commit
e9fafe4847
3 changed files with 26 additions and 9 deletions
|
@ -50,7 +50,7 @@ function geomPass(default_set, decal_set)
|
|||
setRenderTargets(gbuffer0, gbuffer1, gbuffer2, dsbuffer)
|
||||
clear(CLEAR_ALL, 0, 0, 0, 1, 0)
|
||||
local view_params = getCameraParams()
|
||||
renderTerrains("DEFERRED", view_params, {}, default_state)
|
||||
renderTerrains(view_params, {}, default_state)
|
||||
renderBucket(default_set, default_state)
|
||||
endBlock()
|
||||
|
||||
|
|
|
@ -13,8 +13,8 @@ vertex_shader [[
|
|||
|
||||
fragment_shader [[
|
||||
|
||||
uniform sampler2D u_splatmap;
|
||||
uniform sampler2DArray u_detail_textures;
|
||||
layout(binding = 0) uniform sampler2D u_splatmap;
|
||||
layout(binding = 1) uniform sampler2DArray u_albedo;
|
||||
uniform vec3 u_rel_camera_pos;
|
||||
uniform int u_lod;
|
||||
in vec2 v_uv;
|
||||
|
@ -29,7 +29,7 @@ fragment_shader [[
|
|||
vec2 splat_uv = (ij / 2048.0 + v_uv / 1024.0 * 64 * s);
|
||||
splat_uv.y = 1 - splat_uv.y;
|
||||
vec4 splat = texture(u_splatmap, splat_uv);
|
||||
vec4 c2 = texture(u_detail_textures, vec3(splat_uv * 128, 0.5 + splat.x * 256));
|
||||
vec4 c2 = texture(u_albedo, vec3(splat_uv * 128, 0.5 + splat.x * 256));
|
||||
o_color = vec4(c2.rgb, 1);
|
||||
//o_color = vec4(splat.rgb, 1);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,23 @@
|
|||
include "pipelines/common.glsl"
|
||||
|
||||
texture_slot {
|
||||
name = "Heightmap",
|
||||
uniform = "u_hm",
|
||||
default_texture = "textures/common/white.tga"
|
||||
}
|
||||
|
||||
texture_slot {
|
||||
name = "Albedo",
|
||||
uniform = "u_albedo",
|
||||
default_texture = "textures/common/white.tga"
|
||||
}
|
||||
|
||||
texture_slot {
|
||||
name = "Splatmap",
|
||||
uniform = "u_splatmap",
|
||||
default_texture = "textures/common/white.tga"
|
||||
}
|
||||
|
||||
vertex_shader [[
|
||||
#ifdef EDGE
|
||||
out int vertex_id;
|
||||
|
@ -50,7 +68,7 @@ geometry_shader [[
|
|||
out vec2 v_uv_sub;
|
||||
uniform vec3 u_position;
|
||||
uniform int u_lod;
|
||||
uniform sampler2D u_hm;
|
||||
layout(binding = 0) uniform sampler2D u_hm;
|
||||
uniform vec3 u_rel_camera_pos;
|
||||
|
||||
const float hscale = 64;
|
||||
|
@ -209,15 +227,14 @@ fragment_shader [[
|
|||
|
||||
in vec2 v_uv;
|
||||
in vec2 v_uv_sub;
|
||||
uniform sampler2D u_hm;
|
||||
uniform sampler2DArray u_satellite;
|
||||
layout(binding = 0) uniform sampler2D u_hm;
|
||||
layout(binding = 1) uniform sampler2DArray u_slices;
|
||||
uniform int u_lod;
|
||||
|
||||
void getData()
|
||||
{
|
||||
data.normal = vec3(0, 1, 0);
|
||||
data.albedo = pow(texture(u_satellite, vec3(v_uv_sub, u_lod)), vec4(2.2));
|
||||
//data.albedo = vec4(v_uv_sub, 0, 1);
|
||||
data.albedo = pow(texture(u_slices, vec3(v_uv_sub, u_lod)), vec4(2.2));
|
||||
#ifdef ALPHA_CUTOUT
|
||||
if(data.albedo.a < 0.5) discard;
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue