From f5d2b46b37fc627f82b844b5c62bf79f92da6199 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 5 Mar 2014 22:36:38 +1100 Subject: Code cleanup: remove long unused gamma correction tables --- source/blender/render/CMakeLists.txt | 2 - .../render/intern/include/gammaCorrectionTables.h | 51 -------- .../render/intern/source/gammaCorrectionTables.c | 140 --------------------- .../blender/render/intern/source/pixelblending.c | 1 - source/blender/render/intern/source/zbuf.c | 1 - 5 files changed, 195 deletions(-) delete mode 100644 source/blender/render/intern/include/gammaCorrectionTables.h delete mode 100644 source/blender/render/intern/source/gammaCorrectionTables.c diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt index db23cd97b74..f369e5a2d77 100644 --- a/source/blender/render/CMakeLists.txt +++ b/source/blender/render/CMakeLists.txt @@ -57,7 +57,6 @@ set(SRC intern/source/convertblender.c intern/source/envmap.c intern/source/external_engine.c - intern/source/gammaCorrectionTables.c intern/source/imagetexture.c intern/source/initrender.c intern/source/multires_bake.c @@ -89,7 +88,6 @@ set(SRC extern/include/RE_render_ext.h extern/include/RE_shader_ext.h intern/include/envmap.h - intern/include/gammaCorrectionTables.h intern/include/initrender.h intern/include/occlusion.h intern/include/pixelblending.h diff --git a/source/blender/render/intern/include/gammaCorrectionTables.h b/source/blender/render/intern/include/gammaCorrectionTables.h deleted file mode 100644 index 68bb15f7f4c..00000000000 --- a/source/blender/render/intern/include/gammaCorrectionTables.h +++ /dev/null @@ -1,51 +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) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -#ifndef __GAMMACORRECTIONTABLES_H__ -#define __GAMMACORRECTIONTABLES_H__ - -/** \file blender/render/intern/include/gammaCorrectionTables.h - * \ingroup render - */ - -/** - * Initialize the gamma lookup tables - */ -void makeGammaTables(float gamma); - -/** - * Apply gamma correction on col - */ -float gammaCorrect(float col); - -/** - * Apply inverse gamma correction on col - */ -float invGammaCorrect(float col); - -#endif - diff --git a/source/blender/render/intern/source/gammaCorrectionTables.c b/source/blender/render/intern/source/gammaCorrectionTables.c deleted file mode 100644 index 8efdf472232..00000000000 --- a/source/blender/render/intern/source/gammaCorrectionTables.c +++ /dev/null @@ -1,140 +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) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file blender/render/intern/source/gammaCorrectionTables.c - * \ingroup render - */ - - -#include "gammaCorrectionTables.h" -#include -#include - -/* WARNING; optimized, cannot be used to do gamma(invgamma()) and expect */ -/* result remain identical (ton) */ - -/* gamma is only used here for correcting adding colors or alpha */ -// #define RE_DEFAULT_GAMMA 2.0 // UNUSED - -/* This 400 is sort of based on the number of intensity levels needed for */ -/* the typical dynamic range of a medium, in this case CRTs. (Foley) */ -/* (Actually, it says the number should be between 400 and 535.) */ -#define RE_GAMMA_TABLE_SIZE 400 - -/* These indicate the status of the gamma lookup table --------------------- */ - -static float gamma_range_table[RE_GAMMA_TABLE_SIZE + 1]; -static float gamfactor_table[RE_GAMMA_TABLE_SIZE]; -static float inv_gamma_range_table[RE_GAMMA_TABLE_SIZE + 1]; -static float inv_gamfactor_table[RE_GAMMA_TABLE_SIZE]; -static float color_domain_table[RE_GAMMA_TABLE_SIZE + 1]; -static float color_step; -static float inv_color_step; -static float valid_gamma; -static float valid_inv_gamma; - -/* ------------------------------------------------------------------------- */ - -float gammaCorrect(float c) -{ - int i; - float res = 0.0; - - i = floor(c * inv_color_step); - /* Clip to range [0,1]: outside, just do the complete calculation. */ - /* We may have some performance problems here. Stretching up the LUT */ - /* may help solve that, by exchanging LUT size for the interpolation. */ - /* Negative colors are explicitly handled. */ - if (i < 0) res = -pow(abs(c), valid_gamma); - else if (i >= RE_GAMMA_TABLE_SIZE ) res = pow(c, valid_gamma); - else res = gamma_range_table[i] + - ( (c - color_domain_table[i]) * gamfactor_table[i]); - - return res; -} /* end of float gammaCorrect(float col) */ - -/* ------------------------------------------------------------------------- */ - -float invGammaCorrect(float col) -{ - int i; - float res = 0.0; - - i = floor(col*inv_color_step); - /* Negative colors are explicitly handled. */ - if (i < 0) res = -pow(abs(col), valid_inv_gamma); - else if (i >= RE_GAMMA_TABLE_SIZE) res = pow(col, valid_inv_gamma); - else res = inv_gamma_range_table[i] + - ( (col - color_domain_table[i]) * inv_gamfactor_table[i]); - - return res; -} /* end of float invGammaCorrect(float col) */ - - -/* ------------------------------------------------------------------------- */ - -void makeGammaTables(float gamma) -{ - /* we need two tables: one forward, one backward */ - int i; - - valid_gamma = gamma; - valid_inv_gamma = 1.0f / gamma; - color_step = 1.0 / RE_GAMMA_TABLE_SIZE; - inv_color_step = (float) RE_GAMMA_TABLE_SIZE; - - /* We could squeeze out the two range tables to gain some memory. */ - for (i = 0; i < RE_GAMMA_TABLE_SIZE; i++) { - color_domain_table[i] = i * color_step; - gamma_range_table[i] = pow(color_domain_table[i], - valid_gamma); - inv_gamma_range_table[i] = pow(color_domain_table[i], - valid_inv_gamma); - } - - /* The end of the table should match 1.0 carefully. In order to avoid */ - /* rounding errors, we just set this explicitly. The last segment may */ - /* have a different length than the other segments, but our */ - /* interpolation is insensitive to that. */ - color_domain_table[RE_GAMMA_TABLE_SIZE] = 1.0; - gamma_range_table[RE_GAMMA_TABLE_SIZE] = 1.0; - inv_gamma_range_table[RE_GAMMA_TABLE_SIZE] = 1.0; - - /* To speed up calculations, we make these calc factor tables. They are */ - /* multiplication factors used in scaling the interpolation. */ - for (i = 0; i < RE_GAMMA_TABLE_SIZE; i++ ) { - gamfactor_table[i] = inv_color_step * (gamma_range_table[i + 1] - gamma_range_table[i]); - inv_gamfactor_table[i] = inv_color_step * (inv_gamma_range_table[i + 1] - inv_gamma_range_table[i]); - } - -} /* end of void makeGammaTables(float gamma) */ - - - -/* ------------------------------------------------------------------------- */ - -/* eof */ diff --git a/source/blender/render/intern/source/pixelblending.c b/source/blender/render/intern/source/pixelblending.c index 66fd2209881..7f5b0a5b20b 100644 --- a/source/blender/render/intern/source/pixelblending.c +++ b/source/blender/render/intern/source/pixelblending.c @@ -42,7 +42,6 @@ #include "render_types.h" #include "renderpipeline.h" #include "pixelblending.h" -#include "gammaCorrectionTables.h" /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /* defined in pipeline.c, is hardcopy of active dynamic allocated Render */ diff --git a/source/blender/render/intern/source/zbuf.c b/source/blender/render/intern/source/zbuf.c index a8ccd1f362f..37cf9ad76c3 100644 --- a/source/blender/render/intern/source/zbuf.c +++ b/source/blender/render/intern/source/zbuf.c @@ -61,7 +61,6 @@ #include "RE_render_ext.h" /* local includes */ -#include "gammaCorrectionTables.h" #include "pixelblending.h" #include "render_result.h" #include "render_types.h" -- cgit v1.2.3