diff options
Diffstat (limited to 'source/blender/render/RE_shader_ext.h')
-rw-r--r-- | source/blender/render/RE_shader_ext.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/source/blender/render/RE_shader_ext.h b/source/blender/render/RE_shader_ext.h new file mode 100644 index 00000000000..d9d5a924949 --- /dev/null +++ b/source/blender/render/RE_shader_ext.h @@ -0,0 +1,83 @@ +/* + * 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) 2006 by Blender Foundation + * All rights reserved. + */ +/** \file + * \ingroup render + */ + +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ +/* this include is for texture exports */ +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* localized texture result data */ +/* note; tr tg tb ta has to remain in this order */ +typedef struct TexResult { + float tin, tr, tg, tb, ta; + int talpha; + float *nor; +} TexResult; + +typedef struct BakeImBufuserData { + float *displacement_buffer; + char *mask_buffer; +} BakeImBufuserData; + +/* node shaders... */ +struct ImagePool; +struct MTex; +struct Tex; + +/* this one uses nodes */ +int multitex_ext(struct Tex *tex, + float texvec[3], + float dxt[3], + float dyt[3], + int osatex, + struct TexResult *texres, + const short thread, + struct ImagePool *pool, + bool scene_color_manage, + const bool skip_load_image); +/* nodes disabled */ +int multitex_ext_safe(struct Tex *tex, + const float texvec[3], + struct TexResult *texres, + struct ImagePool *pool, + bool scene_color_manage, + const bool skip_load_image); +/* only for internal node usage */ +int multitex_nodes(struct Tex *tex, + const float texvec[3], + float dxt[3], + float dyt[3], + int osatex, + struct TexResult *texres, + const short thread, + short which_output, + struct MTex *mtex, + struct ImagePool *pool); + +#ifdef __cplusplus +} +#endif |