[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15471] branches/apricot/source: Apricot Branch:
Brecht Van Lommel
brechtvanlommel at pandora.be
Mon Jul 7 17:12:42 CEST 2008
Revision: 15471
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15471
Author: blendix
Date: 2008-07-07 17:12:42 +0200 (Mon, 07 Jul 2008)
Log Message:
-----------
Apricot Branch:
Bugfix to make custom glsl shaders work with blender glsl shaders.
Modified Paths:
--------------
branches/apricot/source/blender/gpu/intern/gpu_codegen.c
branches/apricot/source/gameengine/Ketsji/BL_BlenderShader.cpp
branches/apricot/source/gameengine/Ketsji/KX_BlenderMaterial.cpp
branches/apricot/source/gameengine/Ketsji/KX_GameObject.cpp
Modified: branches/apricot/source/blender/gpu/intern/gpu_codegen.c
===================================================================
--- branches/apricot/source/blender/gpu/intern/gpu_codegen.c 2008-07-07 14:36:33 UTC (rev 15470)
+++ branches/apricot/source/blender/gpu/intern/gpu_codegen.c 2008-07-07 15:12:42 UTC (rev 15471)
@@ -141,19 +141,19 @@
int definetex; /* input is responsible for defining the pixel? */
int textarget; /* GL_TEXTURE_* */
+ struct Image *ima; /* image */
+ struct ImageUser *iuser;/* image user */
+ float *dynamicvec; /* vector data in case it is dynamic */
+ GPUTexture *tex; /* input texture, only set at runtime */
+ char shadername[32]; /* name in shader */
+
float vec[16]; /* vector data */
- float *dynamicvec; /* vector data in case it is dynamic */
GPUNodeLink *link;
- GPUTexture *tex; /* input texture, only set at runtime */
int dynamictex; /* dynamic? */
- struct Image *ima; /* image */
- struct ImageUser *iuser;/* image user */
int attribtype; /* attribute type */
char attribname[32]; /* attribute name */
int attribfirst; /* this is the first one that is bound */
GPUBuiltin builtin; /* builtin uniform */
-
- char shadername[32]; /* name in shader */
} GPUInput;
struct GPUPass {
@@ -676,7 +676,7 @@
code = BLI_dynstr_get_cstring(ds);
BLI_dynstr_free(ds);
- if(G.f & G_DEBUG) printf("%s\n", code);
+ //if(G.f & G_DEBUG) printf("%s\n", code);
return code;
}
@@ -719,7 +719,7 @@
BLI_dynstr_free(ds);
- if(G.f & G_DEBUG) printf("%s\n", code);
+ //if(G.f & G_DEBUG) printf("%s\n", code);
return code;
}
Modified: branches/apricot/source/gameengine/Ketsji/BL_BlenderShader.cpp
===================================================================
--- branches/apricot/source/gameengine/Ketsji/BL_BlenderShader.cpp 2008-07-07 14:36:33 UTC (rev 15470)
+++ branches/apricot/source/gameengine/Ketsji/BL_BlenderShader.cpp 2008-07-07 15:12:42 UTC (rev 15471)
@@ -75,6 +75,8 @@
GPUVertexAttribs attribs;
int i, attrib_num;
+ ras->SetAttribNum(0);
+
if(!mGPUMat)
return;
Modified: branches/apricot/source/gameengine/Ketsji/KX_BlenderMaterial.cpp
===================================================================
--- branches/apricot/source/gameengine/Ketsji/KX_BlenderMaterial.cpp 2008-07-07 14:36:33 UTC (rev 15470)
+++ branches/apricot/source/gameengine/Ketsji/KX_BlenderMaterial.cpp 2008-07-07 15:12:42 UTC (rev 15471)
@@ -128,32 +128,31 @@
// when material are reused between objects
return;
- if(mMaterial->glslmat) {
+ if(mMaterial->glslmat)
SetBlenderGLSLShader();
- }
- else {
- // for each unique material...
- int i;
- for(i=0; i<mMaterial->num_enabled; i++) {
- if( mMaterial->mapping[i].mapping & USEENV ) {
- if(!GLEW_ARB_texture_cube_map) {
- spit("CubeMap textures not supported");
- continue;
- }
- if(!mTextures[i].InitCubeMap(i, mMaterial->cubemap[i] ) )
+
+ // for each unique material...
+ int i;
+ for(i=0; i<mMaterial->num_enabled; i++) {
+ if( mMaterial->mapping[i].mapping & USEENV ) {
+ if(!GLEW_ARB_texture_cube_map) {
+ spit("CubeMap textures not supported");
+ continue;
+ }
+ if(!mTextures[i].InitCubeMap(i, mMaterial->cubemap[i] ) )
+ spit("unable to initialize image("<<i<<") in "<<
+ mMaterial->matname<< ", image will not be available");
+ }
+
+ else {
+ if( mMaterial->img[i] ) {
+ if( ! mTextures[i].InitFromImage(i, mMaterial->img[i], (mMaterial->flag[i] &MIPMAP)!=0 ))
spit("unable to initialize image("<<i<<") in "<<
- mMaterial->matname<< ", image will not be available");
- }
-
- else {
- if( mMaterial->img[i] ) {
- if( ! mTextures[i].InitFromImage(i, mMaterial->img[i], (mMaterial->flag[i] &MIPMAP)!=0 ))
- spit("unable to initialize image("<<i<<") in "<<
- mMaterial->matname<< ", image will not be available");
- }
+ mMaterial->matname<< ", image will not be available");
}
}
}
+
mBlendFunc[0] =0;
mBlendFunc[1] =0;
mConstructed = true;
@@ -489,7 +488,7 @@
{
if(mShader && GLEW_ARB_shader_objects)
mShader->Update(ms, rasty);
- if(mBlenderShader && GLEW_ARB_shader_objects)
+ else if(mBlenderShader && GLEW_ARB_shader_objects)
mBlenderShader->Update(ms, rasty);
}
@@ -531,6 +530,7 @@
ras->SetAttribNum(0);
if(mShader && GLEW_ARB_shader_objects) {
if(mShader->GetAttribute() == BL_Shader::SHD_TANGENT) {
+ ras->SetAttrib(RAS_IRasterizer::RAS_TEXCO_DISABLE, 0);
ras->SetAttrib(RAS_IRasterizer::RAS_TEXTANGENT, 1);
ras->SetAttribNum(2);
}
Modified: branches/apricot/source/gameengine/Ketsji/KX_GameObject.cpp
===================================================================
--- branches/apricot/source/gameengine/Ketsji/KX_GameObject.cpp 2008-07-07 14:36:33 UTC (rev 15470)
+++ branches/apricot/source/gameengine/Ketsji/KX_GameObject.cpp 2008-07-07 15:12:42 UTC (rev 15471)
@@ -1289,7 +1289,7 @@
return meshproxy;
}
}
- return NULL;
+ Py_RETURN_NONE;
}
More information about the Bf-blender-cvs
mailing list