[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