OpenGL: stop using GL_NORMALIZE

With GLSL there is no need for GL_NORMALIZE. We explicitly normalize in the shader, or (better) send in unit vectors.

Part of T51164
This commit is contained in:
Mike Erwin 2017-04-27 10:35:12 -04:00
parent 34c808287e
commit a49708a691
3 changed files with 2 additions and 6 deletions

View File

@ -1901,7 +1901,8 @@ static void ccgDM_glNormalFast(float *a, float *b, float *c, float *d)
no[1] = b_dZ * a_cX - b_dX * a_cZ;
no[2] = b_dX * a_cY - b_dY * a_cX;
/* don't normalize, GL_NORMALIZE is enabled */
normalize_v3(no); /* we no longer rely on GL_NORMALIZE */
glNormal3fv(no);
}

View File

@ -198,7 +198,6 @@ typedef struct GPUStateValues
unsigned int is_line_smooth : 1;
unsigned int is_color_logic_op : 1;
unsigned int is_multisample : 1;
unsigned int is_normalize : 1;
unsigned int is_polygon_offset_line : 1;
unsigned int is_polygon_offset_fill : 1;
unsigned int is_polygon_smooth : 1;

View File

@ -2291,8 +2291,6 @@ void GPU_state_init(void)
glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS);
glDepthFunc(GL_LEQUAL);
/* scaling matrices */
glEnable(GL_NORMALIZE);
glDisable(GL_ALPHA_TEST);
glDisable(GL_BLEND);
@ -2548,7 +2546,6 @@ void gpuSaveState(GPUStateValues *values, eGPUStateMask mask)
values->is_line_smooth = glIsEnabled(GL_LINE_SMOOTH);
values->is_color_logic_op = glIsEnabled(GL_COLOR_LOGIC_OP);
values->is_multisample = glIsEnabled(GL_MULTISAMPLE);
values->is_normalize = glIsEnabled(GL_NORMALIZE);
values->is_polygon_offset_line = glIsEnabled(GL_POLYGON_OFFSET_LINE);
values->is_polygon_offset_fill = glIsEnabled(GL_POLYGON_OFFSET_FILL);
values->is_polygon_smooth = glIsEnabled(GL_POLYGON_SMOOTH);
@ -2612,7 +2609,6 @@ void gpuRestoreState(GPUStateValues *values)
restore_mask(GL_LINE_SMOOTH, values->is_line_smooth);
restore_mask(GL_COLOR_LOGIC_OP, values->is_color_logic_op);
restore_mask(GL_MULTISAMPLE, values->is_multisample);
restore_mask(GL_NORMALIZE, values->is_normalize);
restore_mask(GL_POLYGON_OFFSET_LINE, values->is_polygon_offset_line);
restore_mask(GL_POLYGON_OFFSET_FILL, values->is_polygon_offset_fill);
restore_mask(GL_POLYGON_SMOOTH, values->is_polygon_smooth);