[d3d7/patch #1] firstimpl for (Get|Set)ClipPlane for d3d7

Lionel Ulmer lionel.ulmer at free.fr
Sun Jan 5 16:37:09 CST 2003


>  	    case D3DRENDERSTATE_CLIPPING:    /* 136 */
> -	        /* Nothing to do here... Even if what we receive is already clipped by the application,
> -		   we cannot tell OpenGL to not re-clip it. */
> +	    case D3DRENDERSTATE_CLIPPLANEENABLE: /*152*/
> +		{
> +		    GLint i;
> +		    DWORD mask, runner;
> +		    
> +		    if (dwRenderStateType==D3DRENDERSTATE_CLIPPING) {
> +			mask = ((dwRenderState)?(This->parent.state_block.render_state[D3DRENDERSTATE_CLIPPLANEENABLE-1]):(0x0000));
> +		    } else {
> +			mask = dwRenderState;
> +		    }
> +		    for (i = 0, runner = 1; This->parent.max_clipping_planes; i++, runner = (runner<<1)) {

You forgot the 'i < ' before the 'This->parent.max_clipping_planes'.

> +			if (mask & runner) {
> +			    glEnable(GL_CLIP_PLANE0 + i);
> +			} else {
> +			    glDisable(GL_CLIP_PLANE0 + i);
> +			}
> +		    }
> +		}
>  	        break;
>  
(...)
> -HRESULT WINAPI
> -Main_IDirect3DDeviceImpl_7_GetClipPlane(LPDIRECT3DDEVICE7 iface,
> -                                        DWORD dwIndex,
> -                                        D3DVALUE* pPlaneEquation)
> +HRESULT  WINAPI  
> +Main_IDirect3DDeviceImpl_7_GetClipPlane(LPDIRECT3DDEVICE7 iface, DWORD Index, D3DVALUE* pPlaneEquation)

And here, you renamed the dwIndex (the official MSDN sanctionned variable
name) to Index :-)

(...)
>  HRESULT WINAPI
> -Main_IDirect3DDeviceImpl_7_SetClipPlane(LPDIRECT3DDEVICE7 iface,
> -                                        DWORD dwIndex,
> -                                        D3DVALUE* pPlaneEquation);
> -

Usually, we keep the Main declaration even if we never use it and replace it
with a GL one. This is always to help an hypothetical new driver.

(...)
> +HRESULT  WINAPI  
> +GL_IDirect3DDeviceImpl_7_SetClipPlane(LPDIRECT3DDEVICE7 iface, DWORD Index, CONST D3DVALUE* pPlaneEquation)

Same comment for Index here too.

Otherwise, looks good :-)

                        Lionel

-- 
		 Lionel Ulmer - http://www.bbrox.org/



More information about the wine-devel mailing list