diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2007-11-29 01:21:12 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2007-11-29 01:21:12 +0300 |
commit | 561319989e6a80fda82bd70f7f9a3c0651536d98 (patch) | |
tree | 5b28dd152615e699277c69df36ba0aae7f394eb0 /source/blender/render/extern | |
parent | 91dc459bccaa0ea89cf8a65cbb46729763ff6156 (diff) |
Render Baking
=============
A new "Selected to Active" option in the Bake panel, to (typically) bake
a high poly object onto a low poly object. Code based on patch #7339 by
Frank Richter (Crystal Space developer), thanks!.
Normal Mapping
==============
Camera, World, Object and Tangent space is now supported for baking, and
for material textures. The "NMap TS" setting is replaced with a dropdown
of the four choices in the image texture buttons.
http://www.blender.org/development/current-projects/changes-since-244/render-baking/
Diffstat (limited to 'source/blender/render/extern')
-rw-r--r-- | source/blender/render/extern/include/RE_pipeline.h | 3 | ||||
-rw-r--r-- | source/blender/render/extern/include/RE_raytrace.h | 4 | ||||
-rw-r--r-- | source/blender/render/extern/include/RE_shader_ext.h | 3 |
3 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index 9abc873172f..a8abf85a285 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -37,6 +37,7 @@ struct Scene; struct RenderData; struct NodeBlurData; +struct Object; /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /* this include is what is exposed of render to outside world */ @@ -209,7 +210,7 @@ void RE_zbuf_accumulate_vecblur(struct NodeBlurData *nbd, int xsize, int ysize, #define RE_BAKE_AO 2 #define RE_BAKE_NORMALS 3 #define RE_BAKE_TEXTURE 4 -void RE_Database_Baking(struct Render *re, struct Scene *scene, int type); +void RE_Database_Baking(struct Render *re, struct Scene *scene, int type, struct Object *actob); void RE_DataBase_GetView(struct Render *re, float mat[][4]); diff --git a/source/blender/render/extern/include/RE_raytrace.h b/source/blender/render/extern/include/RE_raytrace.h index 095ffcf0c18..d20e3130fa4 100644 --- a/source/blender/render/extern/include/RE_raytrace.h +++ b/source/blender/render/extern/include/RE_raytrace.h @@ -64,6 +64,9 @@ typedef struct Isect { RayFace *facecontr; float ddalabda; short faceisect; /* flag if facecontr was done or not */ + + /* custom pointer to be used in the RayCheckFunc */ + void *userdata; } Isect; /* function callbacks for face type abstraction */ @@ -80,6 +83,7 @@ void RE_ray_tree_free(RayTree *tree); /* intersection with full tree and single face */ int RE_ray_tree_intersect(RayTree *tree, Isect *is); +int RE_ray_tree_intersect_check(RayTree *tree, Isect *is, RayCheckFunc check); int RE_ray_face_intersection(Isect *is, RayCoordsFunc coordsfunc); /* retrieve the diameter of the tree structure, for setting intersection diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h index 052e104ee62..7717d6fdc48 100644 --- a/source/blender/render/extern/include/RE_shader_ext.h +++ b/source/blender/render/extern/include/RE_shader_ext.h @@ -173,9 +173,10 @@ int multitex_ext(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osa /* shaded view and bake */ struct Render; struct Image; +struct Object; void RE_shade_external(struct Render *re, struct ShadeInput *shi, struct ShadeResult *shr); -int RE_bake_shade_all_selected(struct Render *re, int type); +int RE_bake_shade_all_selected(struct Render *re, int type, struct Object *actob); struct Image *RE_bake_shade_get_image(void); #endif /* RE_SHADER_EXT_H */ |