Vitaly Budovski : d3d8: Render state additions.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Jan 17 09:29:32 CST 2006
Module: wine
Branch: refs/heads/master
Commit: 624efed78e0ae83d19fd1c7210ddd0b5b30d129b
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=624efed78e0ae83d19fd1c7210ddd0b5b30d129b
Author: Vitaly Budovski <vbudovsk at cs.rmit.edu.au>
Date: Tue Jan 17 15:58:43 2006 +0100
d3d8: Render state additions.
Implemented D3DRS_EDGEANTIALIAS.
Implemented D3DRS_POINTSPRITEENABLE.
Implemented D3DRS_MULTISAMPLEANTIALIAS.
---
dlls/d3d8/device.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 55 insertions(+), 0 deletions(-)
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c
index 77a59a9..363052d 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -3054,6 +3054,21 @@ HRESULT WINAPI IDirect3DDevice8Impl_Se
/* Unhandled yet...! */
case D3DRS_EDGEANTIALIAS :
+ {
+ if(Value) {
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glEnable(GL_BLEND);
+ checkGLcall("glEnable GL_BLEND");
+ glEnable(GL_LINE_SMOOTH);
+ checkGLcall("glEnable Gl_LINE_SMOOTH");
+ } else {
+ glDisable(GL_BLEND);
+ checkGLcall("glDisable GL_BLEND");
+ glDisable(GL_LINE_SMOOTH);
+ checkGLcall("glDisable GL_LINE_SMOOTH");
+ }
+ break;
+ }
case D3DRS_WRAP0 :
case D3DRS_WRAP1 :
case D3DRS_WRAP2 :
@@ -3062,8 +3077,48 @@ HRESULT WINAPI IDirect3DDevice8Impl_Se
case D3DRS_WRAP5 :
case D3DRS_WRAP6 :
case D3DRS_WRAP7 :
+ {
+ FIXME("(%p)->(%d,%ld) not handled yet\n", This, State, Value);
+ break;
+ }
case D3DRS_POINTSPRITEENABLE :
+ {
+ if(Value) {
+ if(GL_SUPPORT(GL_ARB_point_sprite)) {
+ glEnable(GL_POINT_SPRITE_ARB);
+ checkGLcall("glEnable GL_POINT_SPRITE_ARB");
+ } else {
+ TRACE("Point sprites cannot be enabled in this version of opengl\n");
+ }
+ } else {
+ if(GL_SUPPORT(GL_ARB_point_sprite)) {
+ glDisable(GL_POINT_SPRITE_ARB);
+ checkGLcall("glDisable GL_POINT_SPRITE_ARB");
+ } else {
+ TRACE("Point sprites cannot be disabled in this version of opengl\n");
+ }
+ }
+ break;
+ }
case D3DRS_MULTISAMPLEANTIALIAS :
+ {
+ if(Value) {
+ if(GL_SUPPORT(GL_ARB_multisample)) {
+ glEnable(GL_MULTISAMPLE_ARB);
+ checkGLcall("glEnable GL_MULTISAMPLE_ARB");
+ } else {
+ TRACE("Multisample antialiasing cannot be enabled in this version of opengl\n");
+ }
+ } else {
+ if(GL_SUPPORT(GL_ARB_multisample)) {
+ glDisable(GL_MULTISAMPLE_ARB);
+ checkGLcall("glDisable GL_MULTISAMPLE_ARB");
+ } else {
+ TRACE("Multisample antialiasing cannot be disabled in this version of opengl\n");
+ }
+ }
+ break;
+ }
case D3DRS_MULTISAMPLEMASK :
case D3DRS_PATCHEDGESTYLE :
case D3DRS_PATCHSEGMENTS :
More information about the wine-cvs
mailing list