[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27782] trunk/blender/source/blender: Fix #21667: smoke drawing crashes calling glTexImage3D on graphics card that do

Brecht Van Lommel brecht at blender.org
Sat Mar 27 11:48:01 CET 2010


Revision: 27782
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27782
Author:   blendix
Date:     2010-03-27 11:48:01 +0100 (Sat, 27 Mar 2010)

Log Message:
-----------
Fix #21667: smoke drawing crashes calling glTexImage3D on graphics card that do
not support it.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/drawvolume.c
    trunk/blender/source/blender/gpu/intern/gpu_extensions.c

Modified: trunk/blender/source/blender/editors/space_view3d/drawvolume.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawvolume.c	2010-03-27 10:43:04 UTC (rev 27781)
+++ trunk/blender/source/blender/editors/space_view3d/drawvolume.c	2010-03-27 10:48:01 UTC (rev 27782)
@@ -240,6 +240,11 @@
 	
 	float size[3];
 
+	if(!tex) {
+		printf("Could not allocate 3D texture for 3D View smoke drawing.\n");
+		return;
+	}
+
 	tstart();
 
 	VECSUB(size, max, min);
@@ -365,7 +370,7 @@
 		glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, 1, 7.0, 7.0, 7.0, 1.0);
 	}
 	else
-		printf("Your gfx card does not support 3dview smoke drawing.\n");
+		printf("Your gfx card does not support 3D View smoke drawing.\n");
 
 	GPU_texture_bind(tex, 0);
 	if(tex_shadow)

Modified: trunk/blender/source/blender/gpu/intern/gpu_extensions.c
===================================================================
--- trunk/blender/source/blender/gpu/intern/gpu_extensions.c	2010-03-27 10:43:04 UTC (rev 27781)
+++ trunk/blender/source/blender/gpu/intern/gpu_extensions.c	2010-03-27 10:48:01 UTC (rev 27782)
@@ -392,6 +392,9 @@
 	void *pixels = NULL;
 	float vfBorderColor[4] = {0.0f, 0.0f, 0.0f, 0.0f};
 
+	if(!GLEW_VERSION_1_2)
+		return NULL;
+
 	tex = MEM_callocN(sizeof(GPUTexture), "GPUTexture");
 	tex->w = w;
 	tex->h = h;





More information about the Bf-blender-cvs mailing list