Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/render/RE_shader_ext.h')
-rw-r--r--source/blender/render/RE_shader_ext.h83
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