mirror of
https://github.com/overte-org/overte.git
synced 2025-07-23 17:24:58 +02:00
test using highp floats everywhere for android
This commit is contained in:
parent
6ec91cfa82
commit
c2004debd5
9 changed files with 25 additions and 31 deletions
|
@ -17,7 +17,6 @@ std::string GL41Backend::getBackendShaderHeader() const {
|
||||||
static const std::string header(
|
static const std::string header(
|
||||||
R"SHADER(#version 410 core
|
R"SHADER(#version 410 core
|
||||||
#define GPU_GL410
|
#define GPU_GL410
|
||||||
#define PRECISIONQ
|
|
||||||
#define BITFIELD int
|
#define BITFIELD int
|
||||||
)SHADER");
|
)SHADER");
|
||||||
return header;
|
return header;
|
||||||
|
|
|
@ -18,7 +18,6 @@ std::string GL45Backend::getBackendShaderHeader() const {
|
||||||
static const std::string header(
|
static const std::string header(
|
||||||
R"SHADER(#version 450 core
|
R"SHADER(#version 450 core
|
||||||
#define GPU_GL450
|
#define GPU_GL450
|
||||||
#define PRECISIONQ
|
|
||||||
#define BITFIELD int
|
#define BITFIELD int
|
||||||
)SHADER"
|
)SHADER"
|
||||||
#ifdef GPU_SSBO_TRANSFORM_OBJECT
|
#ifdef GPU_SSBO_TRANSFORM_OBJECT
|
||||||
|
|
|
@ -17,10 +17,9 @@ std::string GLESBackend::getBackendShaderHeader() const {
|
||||||
static const std::string header(
|
static const std::string header(
|
||||||
R"SHADER(#version 310 es
|
R"SHADER(#version 310 es
|
||||||
#extension GL_EXT_texture_buffer : enable
|
#extension GL_EXT_texture_buffer : enable
|
||||||
precision lowp float; // check precision 2
|
precision highp float;
|
||||||
precision lowp samplerBuffer;
|
precision highp samplerBuffer;
|
||||||
precision lowp sampler2DShadow;
|
precision highp sampler2DShadow;
|
||||||
#define PRECISIONQ highp
|
|
||||||
#define BITFIELD highp int
|
#define BITFIELD highp int
|
||||||
)SHADER");
|
)SHADER");
|
||||||
return header;
|
return header;
|
||||||
|
|
|
@ -34,7 +34,7 @@ vec3 getLightIrradiance(Light l) { return lightIrradiance_getIrradiance(l.irradi
|
||||||
// Light Ambient
|
// Light Ambient
|
||||||
|
|
||||||
struct LightAmbient {
|
struct LightAmbient {
|
||||||
PRECISIONQ vec4 _ambient;
|
vec4 _ambient;
|
||||||
SphericalHarmonics _ambientSphere;
|
SphericalHarmonics _ambientSphere;
|
||||||
mat4 transform;
|
mat4 transform;
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,9 +14,9 @@
|
||||||
#define LightIrradianceConstRef LightIrradiance
|
#define LightIrradianceConstRef LightIrradiance
|
||||||
|
|
||||||
struct LightIrradiance {
|
struct LightIrradiance {
|
||||||
PRECISIONQ vec4 colorIntensity;
|
vec4 colorIntensity;
|
||||||
// falloffRadius, cutoffRadius, falloffSpot, spare
|
// falloffRadius, cutoffRadius, falloffSpot, spare
|
||||||
PRECISIONQ vec4 attenuation;
|
vec4 attenuation;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,8 +16,8 @@
|
||||||
#define LightVolumeConstRef LightVolume
|
#define LightVolumeConstRef LightVolume
|
||||||
|
|
||||||
struct LightVolume {
|
struct LightVolume {
|
||||||
PRECISIONQ vec4 positionRadius;
|
vec4 positionRadius;
|
||||||
PRECISIONQ vec4 directionSpotCos;
|
vec4 directionSpotCos;
|
||||||
};
|
};
|
||||||
|
|
||||||
bool lightVolume_isPoint(LightVolume lv) { return bool(lv.directionSpotCos.w < 0.f); }
|
bool lightVolume_isPoint(LightVolume lv) { return bool(lv.directionSpotCos.w < 0.f); }
|
||||||
|
|
|
@ -15,10 +15,10 @@
|
||||||
// to what is provided by the uniform buffer, or the material key has the wrong bits
|
// to what is provided by the uniform buffer, or the material key has the wrong bits
|
||||||
|
|
||||||
struct Material {
|
struct Material {
|
||||||
PRECISIONQ vec4 _emissiveOpacity;
|
vec4 _emissiveOpacity;
|
||||||
PRECISIONQ vec4 _albedoRoughness;
|
vec4 _albedoRoughness;
|
||||||
PRECISIONQ vec4 _fresnelMetallic;
|
vec4 _fresnelMetallic;
|
||||||
PRECISIONQ vec4 _scatteringSpare2Key;
|
vec4 _scatteringSpare2Key;
|
||||||
};
|
};
|
||||||
|
|
||||||
uniform materialBuffer {
|
uniform materialBuffer {
|
||||||
|
@ -64,7 +64,4 @@ const BITFIELD OCCLUSION_MAP_BIT = 0x00004000;
|
||||||
const BITFIELD LIGHTMAP_MAP_BIT = 0x00008000;
|
const BITFIELD LIGHTMAP_MAP_BIT = 0x00008000;
|
||||||
const BITFIELD SCATTERING_MAP_BIT = 0x00010000;
|
const BITFIELD SCATTERING_MAP_BIT = 0x00010000;
|
||||||
|
|
||||||
#ifdef GL_ES
|
|
||||||
precision lowp float;
|
|
||||||
#endif
|
|
||||||
<@endif@>
|
<@endif@>
|
||||||
|
|
|
@ -16,15 +16,15 @@
|
||||||
#define SphericalHarmonicsConstRef SphericalHarmonics
|
#define SphericalHarmonicsConstRef SphericalHarmonics
|
||||||
|
|
||||||
struct SphericalHarmonics {
|
struct SphericalHarmonics {
|
||||||
PRECISIONQ vec4 L00;
|
vec4 L00;
|
||||||
PRECISIONQ vec4 L1m1;
|
vec4 L1m1;
|
||||||
PRECISIONQ vec4 L10;
|
vec4 L10;
|
||||||
PRECISIONQ vec4 L11;
|
vec4 L11;
|
||||||
PRECISIONQ vec4 L2m2;
|
vec4 L2m2;
|
||||||
PRECISIONQ vec4 L2m1;
|
vec4 L2m1;
|
||||||
PRECISIONQ vec4 L20;
|
vec4 L20;
|
||||||
PRECISIONQ vec4 L21;
|
vec4 L21;
|
||||||
PRECISIONQ vec4 L22;
|
vec4 L22;
|
||||||
};
|
};
|
||||||
|
|
||||||
vec4 sphericalHarmonics_evalSphericalLight(SphericalHarmonicsConstRef sh, vec3 direction) {
|
vec4 sphericalHarmonics_evalSphericalLight(SphericalHarmonicsConstRef sh, vec3 direction) {
|
||||||
|
|
|
@ -14,10 +14,10 @@
|
||||||
<@func declareLightingModel()@>
|
<@func declareLightingModel()@>
|
||||||
|
|
||||||
struct LightingModel {
|
struct LightingModel {
|
||||||
PRECISIONQ vec4 _UnlitEmissiveLightmapBackground;
|
vec4 _UnlitEmissiveLightmapBackground;
|
||||||
PRECISIONQ vec4 _ScatteringDiffuseSpecularAlbedo;
|
vec4 _ScatteringDiffuseSpecularAlbedo;
|
||||||
PRECISIONQ vec4 _AmbientDirectionalPointSpot;
|
vec4 _AmbientDirectionalPointSpot;
|
||||||
PRECISIONQ vec4 _ShowContourObscuranceWireframe;
|
vec4 _ShowContourObscuranceWireframe;
|
||||||
};
|
};
|
||||||
|
|
||||||
uniform lightingModelBuffer{
|
uniform lightingModelBuffer{
|
||||||
|
|
Loading…
Reference in a new issue