diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-07-22 02:07:51 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-07-22 02:07:51 +0400 |
commit | c44670f6cd4ca6631c2cd98a029f8d27084be4f8 (patch) | |
tree | f9624b84ca643a0702ff5b4e65c7730ccf34a447 /source/gameengine/Converter/BL_BlenderDataConversion.cpp | |
parent | 4dc1ac2a7c5c64f7c12bc160366ab1c1733498d6 (diff) |
Apricot Branch
==============
* Made GLSL respect opaque/add/alpha/clip flags.
* Fix bug for all material types to correctly deal with
different transp flags in a single mesh.
* Also made 3d view material alpha code a bit easier to
understand.
Diffstat (limited to 'source/gameengine/Converter/BL_BlenderDataConversion.cpp')
-rw-r--r-- | source/gameengine/Converter/BL_BlenderDataConversion.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp index e3cfd8884b4..c0051657658 100644 --- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp +++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp @@ -877,7 +877,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools* STR_String imastr = (tface)? (bima? (bima)->id.name : "" ) : ""; - char transp=0; + char transp=0, transparent=0; short mode=0, tile=0; int tilexrep=4,tileyrep = 4; @@ -893,7 +893,8 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools* // Use texface colors if available //TF_DYNAMIC means the polygon is a collision face collider = ((tface->mode & TF_DYNAMIC) != 0); - transp = tface->transp &~ TF_CLIP; + transp = tface->transp; + transparent = ELEM(transp, TF_ALPHA, TF_ADD); tile = tface->tile; mode = tface->mode; @@ -912,6 +913,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools* mode = default_face_mode; transp = TF_SOLID; + transparent = 0; tile = 0; } @@ -959,7 +961,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools* polymat = new KX_PolygonMaterial(imastr, ma, tile, tilexrep, tileyrep, - mode, transp, zsort, lightlayer, istriangle, blenderobj, tface, (unsigned int*)mcol); + mode, transp, transparent, zsort, lightlayer, istriangle, blenderobj, tface, (unsigned int*)mcol); if (ma) { |