[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Nel] Success w/ DirectX 9.0 SDK October 2004
From: |
Sebastian |
Subject: |
[Nel] Success w/ DirectX 9.0 SDK October 2004 |
Date: |
Sun, 7 Nov 2004 14:08:28 -0700 |
Hello,
I noticed a few people having problems building NeL with
DirectX 9.0 SDK October 2004. Some of my other projects require this
new update rather than the 2003 one, so I looked into it and was able
to get this working with a just few simple changes.
Between 2003 and 2004, Microsoft changed ID3DXEffect::Pass to a
ID3DXEffect::BeginPass/ID3DXEffect::EndPass matching pair. Apparently
they thought it was important to allow usage of the Effect::Setx
methods during a Pass. The new BeginPass/EndPass methods are
explained here:
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/d3dx/interfaces/id3dxeffect/BeginPass.asp>
All this means for us is that we have to change any calls to
ID3DXEffect::Pass to BeginPass/EndPass pairs. This occurs in three
places. The following simple fixes make NeL compatible with DirectX
9.0 SDK October 2004:
driver_direct3d.h: Line 1879:
------------------------------------------------------
Change:
drvInfo->Effect->Pass (pass);
To:
drvInfo->Effect->BeginPass (pass);
drvInfo->Effect->EndPass ();
driver_direct3d_shader.cpp: Line 1124:
------------------------------------------------------
Change:
si->Effect->Pass(k);
To:
si->Effect->BeginPass(k);
si->Effect->EndPass();
driver_direct3d_shader.cpp: 1149:
------------------------------------------------------
Change:
HRESULT r = si->Effect->Pass(passIndex);
To:
HRESULT r = si->Effect->BeginPass(passIndex);
si->Effect->EndPass();
Let me know if this works or doesn't work for you.
-Sebastian
- [Nel] Success w/ DirectX 9.0 SDK October 2004,
Sebastian <=