Commit: a3c9f4de7041993ace15078e9943dc2e2c7c1fff Author: Brecht Van Lommel Date: Tue Aug 14 19:56:43 2018 +0200 Branches: blender2.8 https://developer.blender.org/rBa3c9f4de7041993ace15078e9943dc2e2c7c1fff
Cleanup: remove unused basic shader, we use many specialized shaders now. =================================================================== M source/blender/editors/interface/interface_widgets.c M source/blender/editors/screen/glutil.c M source/blender/editors/space_view3d/drawobject.c M source/blender/gpu/CMakeLists.txt D source/blender/gpu/GPU_basic_shader.h D source/blender/gpu/intern/gpu_basic_shader.c M source/blender/gpu/intern/gpu_draw.c M source/blender/gpu/intern/gpu_extensions.c M source/blender/gpu/intern/gpu_immediate_util.c D source/blender/gpu/shaders/gpu_shader_basic_frag.glsl D source/blender/gpu/shaders/gpu_shader_basic_geom.glsl D source/blender/gpu/shaders/gpu_shader_basic_vert.glsl =================================================================== diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c index 019aabdb466..2296c3bc39d 100644 --- a/source/blender/editors/interface/interface_widgets.c +++ b/source/blender/editors/interface/interface_widgets.c @@ -53,7 +53,6 @@ #include "interface_intern.h" -#include "GPU_basic_shader.h" #include "GPU_batch.h" #include "GPU_batch_presets.h" #include "GPU_immediate.h" diff --git a/source/blender/editors/screen/glutil.c b/source/blender/editors/screen/glutil.c index 7fa093106df..b1bda08e9a5 100644 --- a/source/blender/editors/screen/glutil.c +++ b/source/blender/editors/screen/glutil.c @@ -48,7 +48,6 @@ #include "IMB_colormanagement.h" #include "IMB_imbuf_types.h" -#include "GPU_basic_shader.h" #include "GPU_immediate.h" #include "GPU_matrix.h" #include "GPU_state.h" diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 3649c6f6dbb..616095188bb 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -95,7 +95,6 @@ #include "GPU_draw.h" #include "GPU_select.h" -#include "GPU_basic_shader.h" #include "GPU_shader.h" #include "GPU_immediate.h" #include "GPU_immediate_util.h" diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt index b9cc1de447f..938c074920c 100644 --- a/source/blender/gpu/CMakeLists.txt +++ b/source/blender/gpu/CMakeLists.txt @@ -58,7 +58,6 @@ set(INC_SYS set(SRC intern/gpu_attr_binding.c - intern/gpu_basic_shader.c intern/gpu_batch.c intern/gpu_batch_presets.c intern/gpu_batch_utils.c @@ -98,9 +97,6 @@ set(SRC shaders/gpu_shader_material.glsl shaders/gpu_shader_sep_gaussian_blur_frag.glsl shaders/gpu_shader_sep_gaussian_blur_vert.glsl - shaders/gpu_shader_basic_frag.glsl - shaders/gpu_shader_basic_vert.glsl - shaders/gpu_shader_basic_geom.glsl shaders/gpu_shader_vertex.glsl shaders/gpu_shader_vsm_store_frag.glsl shaders/gpu_shader_vsm_store_vert.glsl @@ -110,7 +106,6 @@ set(SRC shaders/gpu_shader_smoke_vert.glsl GPU_attr_binding.h - GPU_basic_shader.h GPU_batch.h GPU_buffers.h GPU_common.h @@ -252,9 +247,6 @@ data_to_c_simple(shaders/gpu_shader_smoke_vert.glsl SRC) data_to_c_simple(shaders/gpu_shader_material.glsl SRC) data_to_c_simple(shaders/gpu_shader_sep_gaussian_blur_frag.glsl SRC) data_to_c_simple(shaders/gpu_shader_sep_gaussian_blur_vert.glsl SRC) -data_to_c_simple(shaders/gpu_shader_basic_frag.glsl SRC) -data_to_c_simple(shaders/gpu_shader_basic_vert.glsl SRC) -data_to_c_simple(shaders/gpu_shader_basic_geom.glsl SRC) data_to_c_simple(shaders/gpu_shader_vertex.glsl SRC) data_to_c_simple(shaders/gpu_shader_vertex_world.glsl SRC) data_to_c_simple(shaders/gpu_shader_vsm_store_frag.glsl SRC) diff --git a/source/blender/gpu/GPU_basic_shader.h b/source/blender/gpu/GPU_basic_shader.h deleted file mode 100644 index 89d31f57607..00000000000 --- a/source/blender/gpu/GPU_basic_shader.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2005 Blender Foundation. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): Brecht Van Lommel. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file GPU_basic_shader.h - * \ingroup gpu - */ - -#ifndef __GPU_BASIC_SHADER_H__ -#define __GPU_BASIC_SHADER_H__ - -#include "BLI_utildefines.h" -#include "GPU_glew.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Fixed Function Shader */ - -typedef enum GPUBasicShaderOption { - GPU_SHADER_USE_COLOR = (1 << 0), /* use glColor, for lighting it replaces diffuse */ - GPU_SHADER_LIGHTING = (1 << 1), /* use lighting */ - GPU_SHADER_TWO_SIDED = (1 << 2), /* flip normals towards viewer */ - GPU_SHADER_TEXTURE_2D = (1 << 3), /* use 2D texture to replace diffuse color */ - GPU_SHADER_TEXTURE_RECT = (1 << 4), /* same as GPU_SHADER_TEXTURE_2D, for GL_TEXTURE_RECTANGLE */ - - GPU_SHADER_SOLID_LIGHTING = (1 << 5), /* use faster lighting (set automatically) */ - GPU_SHADER_STIPPLE = (1 << 6), /* use stipple */ - GPU_SHADER_LINE = (1 << 7), /* draw lines */ - GPU_SHADER_FLAT_NORMAL = (1 << 8), /* use flat normals */ - GPU_SHADER_OPTIONS_NUM = 9, - GPU_SHADER_OPTION_COMBINATIONS = (1 << GPU_SHADER_OPTIONS_NUM) -} GPUBasicShaderOption; - -/* Keep these in sync with gpu_shader_basic_frag.glsl */ -typedef enum GPUBasicShaderStipple { - GPU_SHADER_STIPPLE_HALFTONE = 0, - GPU_SHADER_STIPPLE_QUARTTONE = 1, - GPU_SHADER_STIPPLE_CHECKER_8PX = 2, - GPU_SHADER_STIPPLE_HEXAGON = 3, - GPU_SHADER_STIPPLE_DIAG_STRIPES = 4, - GPU_SHADER_STIPPLE_DIAG_STRIPES_SWAP = 5, -} GPUBasicShaderStipple; - -void GPU_basic_shaders_init(void); -void GPU_basic_shaders_exit(void); - -void GPU_basic_shader_bind(int options); -void GPU_basic_shader_bind_enable(int options); -void GPU_basic_shader_bind_disable(int options); - -int GPU_basic_shader_bound_options(void); - -/* Only use for small blocks of code that don't support glsl shader. */ -#define GPU_BASIC_SHADER_DISABLE_AND_STORE(bound_options) \ -if (GPU_basic_shader_use_glsl_get()) { \ - if ((bound_options = GPU_basic_shader_bound_options())) { \ - GPU_basic_shader_bind(0); \ - } \ -} \ -else { bound_options = 0; } ((void)0) -#define GPU_BASIC_SHADER_ENABLE_AND_RESTORE(bound_options) \ -if (GPU_basic_shader_use_glsl_get()) { \ - if (bound_options) { \ - GPU_basic_shader_bind(bound_options); \ - } \ -} ((void)0) - - -void GPU_basic_shader_colors( - const float diffuse[3], const float specular[3], - int shininess, float alpha); - -/* Fixed Function Lighting */ - -typedef enum GPULightType { - GPU_LIGHT_POINT, - GPU_LIGHT_SPOT, - GPU_LIGHT_SUN -} GPULightType; - -typedef struct GPULightData { - GPULightType type; - - float position[3]; - float direction[3]; - - float diffuse[3]; - float specular[3]; - - float constant_attenuation; - float linear_attenuation; - float quadratic_attenuation; - - float spot_cutoff; - float spot_exponent; -} GPULightData; - -void GPU_basic_shader_light_set(int light_num, GPULightData *light); -void GPU_basic_shader_light_set_viewer(bool local); -void GPU_basic_shader_stipple(GPUBasicShaderStipple stipple_id); -void GPU_basic_shader_line_stipple(GLint stipple_factor, GLushort stipple_pattern); -void GPU_basic_shader_line_width(float line_width); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/source/blender/gpu/intern/gpu_basic_shader.c b/source/blender/gpu/intern/gpu_basic_shader.c deleted file mode 100644 index 1b7b1ecf85a..00000000000 --- a/source/blender/gpu/intern/gpu_basic_shader.c +++ /dev/null @@ -1,350 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2013 Blender Foundation. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): Brecht Van Lommel. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file blender/gpu/intern/gpu_basic_shader.c - * \ingroup gpu - * - * GLSL shaders to replace fixed function OpenGL materials and lighting. These - * are deprecated in newer OpenGL versions and missing in OpenGL ES 2.0. Also, - * two sided lighting is no longer natively supported on NVidia cards which - * results in slow software fallback. - * - * Todo: - * - Replace glLight and glMaterial functions entirely with GLSL uniforms, to - * make OpenGL ES 2.0 work. - * - Replace glTexCoord and glColor with generic attributes. - * - Optimize for case where fewer than 3 or 8 lights are used. - * - Optimize for case where specular is not used. - * - Optimize for case where no texture matrix is used. - */ - -#include "BLI_math.h" -#include "BLI_utildefines.h" - -#include "GPU_basic_shader.h" -#include "GPU_glew.h" -#include "GPU_shader.h" - -/* State */ - -static struct { - GPUShader *cached_shaders[GPU_SHADER_OPTION_COMBINATIONS]; - bool failed_shaders[GPU_SHADER_OPTION_COMBINATIONS]; - - int bound_options; - - int lights_enabled; - int lights_directional; - float line_width; - GLint viewport[4]; -} GPU_MATERIAL_STATE; - - -/* Stipple patterns */ -/* ******************************************** */ -const GLubyte stipple_halftone[128] = { - 0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55, - 0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55, - 0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55, - 0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55, - 0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55, - 0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55, - 0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55, @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs