Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2011-05-04 05:50:17 +0400
committerDalai Felinto <dfelinto@gmail.com>2011-05-04 05:50:17 +0400
commitc56fe3efe6e5c739e6c24f5f57c1d52dfd3ddc68 (patch)
tree000790fa8210028b433f5cedacf5e2707285f191 /source/gameengine/Rasterizer
parent8df1a51c19483fb0a2bd2d1314173d90b268686b (diff)
Patch [#26799] 2.5x blenderplayer (BGE) anti-aliasing & embedding by Sebastian Korczak (with some small tweaks) + adding GHOST_PRINTF
The patch can also be found in http://codereview.appspot.com/4431072/ ############## This patch fix anti-aliasing (multisampling) implementation for win32 platform. It also gives opportunity to embed blenderplayer inside parent window. Usage: blenderplayer.exe -i 123456 -m 16 file.blend where: 123456 - parent window handler (integer, default: 0) 16 - multisample level (integer, default: 0, max: 16. Put there maximum level you want. If not supported, player will automatically try 15,14,13,...,3,2,1) ############## This patch was originally created as part of the Burster (aka webplugin) project but benefit any one embedding the bge in a custom OpenGL context. By the way, to embed the BGE in a .Net application is really straightforward now =) The Multisampling work for blenderplayer as a whole. Missing functionalities: - to expose the multisampling to the ui (so far it only works in console) - window focus and keyboard messages for embedded blenderplayer (supported in their previous patch for 2.49, yet to be ported over) - handle resizing (to be investigated, indeed the changes in getState() in GHOST_WindowWin32.cpp are going to get in the way of that if I'm not mistaken. To be addressed together. Doxygen documentation to be added whenever I sort out how to do so. Sorry Nathan too many stuff to deal with at the same time. The sooner this patch gets in, the sooner the missing functionalities can be patched on top of that.
Diffstat (limited to 'source/gameengine/Rasterizer')
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
index 0c47b0d01bf..23e0a50ed6f 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
@@ -303,6 +303,8 @@ bool RAS_OpenGLRasterizer::BeginFrame(int drawingmode, double time)
glShadeModel(GL_SMOOTH);
+ glEnable(GL_MULTISAMPLE_ARB);
+
m_2DCanvas->BeginFrame();
return true;
@@ -387,6 +389,9 @@ void RAS_OpenGLRasterizer::EndFrame()
FlushDebugLines();
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
+
+ glDisable(GL_MULTISAMPLE_ARB);
+
m_2DCanvas->EndFrame();
}