nel-all
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]