Skip to content
Snippets Groups Projects
Commit f28b13bf authored by Alexander Rose's avatar Alexander Rose
Browse files

shader: fixed broken flat-shaded & flip-sided

parent 7ccf36a0
Branches
Tags
No related merge requests found
...@@ -37,7 +37,6 @@ import assign_color_varying from './shader/chunks/assign-color-varying.glsl' ...@@ -37,7 +37,6 @@ import assign_color_varying from './shader/chunks/assign-color-varying.glsl'
import assign_group from './shader/chunks/assign-group.glsl' import assign_group from './shader/chunks/assign-group.glsl'
import assign_marker_varying from './shader/chunks/assign-marker-varying.glsl' import assign_marker_varying from './shader/chunks/assign-marker-varying.glsl'
import assign_material_color from './shader/chunks/assign-material-color.glsl' import assign_material_color from './shader/chunks/assign-material-color.glsl'
import assign_normal from './shader/chunks/assign-normal.glsl'
import assign_position from './shader/chunks/assign-position.glsl' import assign_position from './shader/chunks/assign-position.glsl'
import assign_size from './shader/chunks/assign-size.glsl' import assign_size from './shader/chunks/assign-size.glsl'
import check_picking_alpha from './shader/chunks/check-picking-alpha.glsl' import check_picking_alpha from './shader/chunks/check-picking-alpha.glsl'
...@@ -63,7 +62,6 @@ const ShaderChunks: { [k: string]: string } = { ...@@ -63,7 +62,6 @@ const ShaderChunks: { [k: string]: string } = {
assign_group, assign_group,
assign_marker_varying, assign_marker_varying,
assign_material_color, assign_material_color,
assign_normal,
assign_position, assign_position,
assign_size, assign_size,
check_picking_alpha, check_picking_alpha,
......
export default `
#if defined(dFlatShaded) && defined(enabledStandardDerivatives)
vec3 fdx = dFdx(vViewPosition);
vec3 fdy = dFdy(vViewPosition);
vec3 normal = -normalize(cross(fdx, fdy));
#else
vec3 normal = -normalize(vNormal);
#ifdef dDoubleSided
normal = normal * (float(frontFacing) * 2.0 - 1.0);
#endif
#endif
`
\ No newline at end of file
...@@ -25,7 +25,11 @@ void main() { ...@@ -25,7 +25,11 @@ void main() {
bool frontFacing = dot(vNormal, vViewPosition) < 0.0; bool frontFacing = dot(vNormal, vViewPosition) < 0.0;
#endif #endif
interior = !frontFacing; // TODO take dFlipSided into account #if defined(dFlipSided)
interior = frontFacing;
#else
interior = !frontFacing;
#endif
#include assign_material_color #include assign_material_color
...@@ -38,7 +42,14 @@ void main() { ...@@ -38,7 +42,14 @@ void main() {
#ifdef dIgnoreLight #ifdef dIgnoreLight
gl_FragColor = material; gl_FragColor = material;
#else #else
#include assign_normal #if defined(dFlatShaded) && defined(enabledStandardDerivatives)
vec3 normal = -faceNormal;
#else
vec3 normal = -normalize(vNormal);
#ifdef dDoubleSided
normal = normal * (float(frontFacing) * 2.0 - 1.0);
#endif
#endif
#include apply_light_color #include apply_light_color
#endif #endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment