[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25793] trunk/blender: OpenGL anti-aliasing for 3D view, user selectable

Damien Plisson damien.plisson at yahoo.fr
Thu Jan 7 11:32:52 CET 2010


Revision: 25793
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25793
Author:   damien78
Date:     2010-01-07 11:32:48 +0100 (Thu, 07 Jan 2010)

Log Message:
-----------
OpenGL anti-aliasing for 3D view, user selectable

Enables AA only for 3D view, and gives the user the option to turn it on/off (in system panel of user prefs)

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/space_userpref.py
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
    trunk/blender/source/blender/makesdna/DNA_userdef_types.h
    trunk/blender/source/blender/makesrna/intern/rna_userdef.c
    trunk/blender/source/blender/windowmanager/intern/wm_window.c

Modified: trunk/blender/release/scripts/ui/space_userpref.py
===================================================================
--- trunk/blender/release/scripts/ui/space_userpref.py	2010-01-07 09:55:11 UTC (rev 25792)
+++ trunk/blender/release/scripts/ui/space_userpref.py	2010-01-07 10:32:48 UTC (rev 25793)
@@ -411,6 +411,7 @@
         col.prop(system, "clip_alpha", slider=True)
         col.prop(system, "use_mipmaps")
         col.prop(system, "use_vbos")
+        col.prop(system, "use_antialiasing")
         col.label(text="Window Draw Method:")
         col.row().prop(system, "window_draw_method", expand=True)
         col.label(text="Textures:")

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2010-01-07 09:55:11 UTC (rev 25792)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2010-01-07 10:32:48 UTC (rev 25793)
@@ -2040,6 +2040,10 @@
 	Object *obact = OBACT;
 	char *grid_unit= NULL;
 	
+	/* enables anti-aliasing for 3D view drawing */
+	if (!(U.gameflags & USER_DISABLE_AA))
+		glEnable(GL_MULTISAMPLE_ARB);
+	
 	/* from now on all object derived meshes check this */
 	v3d->customdata_mask= get_viewedit_datamask(CTX_wm_screen(C), scene, obact);
 	
@@ -2222,6 +2226,10 @@
 	/* XXX here was the blockhandlers for floating panels */
 
 	v3d->flag |= V3D_INVALID_BACKBUF;
+	
+	/* Disable back anti-aliasing */
+	if (!(U.gameflags & USER_DISABLE_AA))
+		glDisable(GL_MULTISAMPLE_ARB);
 }
 
 

Modified: trunk/blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2010-01-07 09:55:11 UTC (rev 25792)
+++ trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2010-01-07 10:32:48 UTC (rev 25793)
@@ -468,6 +468,7 @@
 #define USER_DISABLE_SOUND		2
 #define USER_DISABLE_MIPMAP		4
 #define USER_DISABLE_VBO		8
+#define USER_DISABLE_AA			16
 
 /* wm draw method */
 #define USER_DRAW_TRIPLE		0

Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2010-01-07 09:55:11 UTC (rev 25792)
+++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2010-01-07 10:32:48 UTC (rev 25793)
@@ -2212,6 +2212,10 @@
 	RNA_def_property_boolean_negative_sdna(prop, NULL, "gameflags", USER_DISABLE_VBO);
 	RNA_def_property_ui_text(prop, "VBOs", "Use Vertex Buffer Objects (or Vertex Arrays, if unsupported) for viewport rendering.");
 
+	prop= RNA_def_property(srna, "use_antialiasing", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_negative_sdna(prop, NULL, "gameflags", USER_DISABLE_AA);
+	RNA_def_property_ui_text(prop, "Anti-aliasing", "Use anti-aliasing for the 3D view (may impact redraw performance)");
+	
 	prop= RNA_def_property(srna, "gl_texture_limit", PROP_ENUM, PROP_NONE);
 	RNA_def_property_enum_sdna(prop, NULL, "glreslimit");
 	RNA_def_property_enum_items(prop, gl_texture_clamp_items);

Modified: trunk/blender/source/blender/windowmanager/intern/wm_window.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_window.c	2010-01-07 09:55:11 UTC (rev 25792)
+++ trunk/blender/source/blender/windowmanager/intern/wm_window.c	2010-01-07 10:32:48 UTC (rev 25793)
@@ -313,7 +313,7 @@
 								 inital_state, 
 								 GHOST_kDrawingContextTypeOpenGL,
 								 0 /* no stereo */,
-								 0 /* no AA */);
+								 4 /* 4x AA */);
 	
 	if (ghostwin) {
 		





More information about the Bf-blender-cvs mailing list