mirror of
https://github.com/godotengine/godot.git
synced 2024-11-27 09:16:35 +08:00
Some fixes for shaders and WebGL2
Add padding to UBO data to be multiple of 16 bytes Add precision definition for samplers Replace texture2D (deprecated) with texture in shaders
This commit is contained in:
parent
f863c0ca14
commit
9b9a723c77
@ -42,6 +42,7 @@ public:
|
||||
|
||||
float projection_matrix[16];
|
||||
float time;
|
||||
uint8_t padding[12];
|
||||
};
|
||||
|
||||
RasterizerSceneGLES3 *scene_render;
|
||||
@ -102,6 +103,7 @@ public:
|
||||
float light_height;
|
||||
float light_outside_alpha;
|
||||
float shadow_distance_mult;
|
||||
uint8_t padding[4];
|
||||
} ubo_data;
|
||||
|
||||
GLuint ubo;
|
||||
|
@ -141,6 +141,7 @@ public:
|
||||
float fog_height_min;
|
||||
float fog_height_max;
|
||||
float fog_height_curve;
|
||||
uint8_t padding[8];
|
||||
|
||||
} ubo_data;
|
||||
|
||||
@ -150,6 +151,7 @@ public:
|
||||
|
||||
float transform[16];
|
||||
float ambient_contribution;
|
||||
uint8_t padding[12];
|
||||
|
||||
} env_radiance_data;
|
||||
|
||||
|
@ -273,6 +273,9 @@ ShaderGLES3::Version *ShaderGLES3::get_current_version() {
|
||||
//vertex precision is high
|
||||
strings.push_back("precision highp float;\n");
|
||||
strings.push_back("precision highp int;\n");
|
||||
strings.push_back("precision highp sampler2D;\n");
|
||||
strings.push_back("precision highp samplerCube;\n");
|
||||
strings.push_back("precision highp sampler2DArray;\n");
|
||||
|
||||
#if 0
|
||||
if (cc) {
|
||||
@ -371,6 +374,9 @@ ShaderGLES3::Version *ShaderGLES3::get_current_version() {
|
||||
//fragment precision is medium
|
||||
strings.push_back("precision highp float;\n");
|
||||
strings.push_back("precision highp int;\n");
|
||||
strings.push_back("precision highp sampler2D;\n");
|
||||
strings.push_back("precision highp samplerCube;\n");
|
||||
strings.push_back("precision highp sampler2DArray;\n");
|
||||
|
||||
#if 0
|
||||
if (cc) {
|
||||
|
@ -532,11 +532,11 @@ FRAGMENT_SHADER_CODE
|
||||
|
||||
#ifdef USE_RGBA_SHADOWS
|
||||
|
||||
#define SHADOW_DEPTH(m_tex,m_uv) dot(texture2D((m_tex),(m_uv)),vec4(1.0 / (256.0 * 256.0 * 256.0),1.0 / (256.0 * 256.0),1.0 / 256.0,1) )
|
||||
#define SHADOW_DEPTH(m_tex,m_uv) dot(texture((m_tex),(m_uv)),vec4(1.0 / (256.0 * 256.0 * 256.0),1.0 / (256.0 * 256.0),1.0 / 256.0,1) )
|
||||
|
||||
#else
|
||||
|
||||
#define SHADOW_DEPTH(m_tex,m_uv) (texture2D((m_tex),(m_uv)).r)
|
||||
#define SHADOW_DEPTH(m_tex,m_uv) (texture((m_tex),(m_uv)).r)
|
||||
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user