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
No related branches found
No related tags found
No related merge requests found
......@@ -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_marker_varying from './shader/chunks/assign-marker-varying.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_size from './shader/chunks/assign-size.glsl'
import check_picking_alpha from './shader/chunks/check-picking-alpha.glsl'
......@@ -63,7 +62,6 @@ const ShaderChunks: { [k: string]: string } = {
assign_group,
assign_marker_varying,
assign_material_color,
assign_normal,
assign_position,
assign_size,
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() {
bool frontFacing = dot(vNormal, vViewPosition) < 0.0;
#endif
interior = !frontFacing; // TODO take dFlipSided into account
#if defined(dFlipSided)
interior = frontFacing;
#else
interior = !frontFacing;
#endif
#include assign_material_color
......@@ -38,7 +42,14 @@ void main() {
#ifdef dIgnoreLight
gl_FragColor = material;
#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
#endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment