31-May-2003 |
|
DirectX SDK examples |
|
I thought I need to update site at least once per month :-(
So this is it:
The LightingVS
sample is an extension of the Lighting sample that adds
vertex shader implementations of lighting. It lets you add multiple lights
and compare the output and performance between the vertex shader lights
and the fixed-function pipeline lights.
|
|
30-Apr-2003 |
|
DirectX examples |
|
Added new custom sample: MeshHierarchy.
This sample shows how to load and save hierarchical meshes using D3DX9 functionality. Sample can load and save not only
"standart" data but also custom (user supplied) data.
Sample was used as testbed for testing correctness of D3DX9 header conversion for support of animated / hierarchical meshes.
But final decision was made what there are definetly some bugs hinded inside D3DX9.0 implementation. Or I'm really mad -
in that case mail me.
Demonstrated bits: inheritage of TD3DXFrame, ID3DXAllocateHierarchy, ID3DXLoadUserData, ID3DXSaveUserData and
usage of D3DXLoadMeshHierarchyFromX, D3DXSaveMeshHierarchyToFile.
|
|
29-Apr-2003 |
|
DirectX SDK examples |
|
Uploaded SkinnedMesh sample. Althrow this sample animate the same
"walking figure" as the DirectX 8.x instances of it sample is changed a lot inside. Now sample uses new functionalify
of D3DX to parse and animate skinned meshes.
|
|
28-Apr-2003 |
|
DirectX SDK |
|
I'm presenting April release of DirectX 9.0 headers for Borland Delphi!
List of changes:
- DirectShow9.pas
- Direct3D8.pas fixes:
- IDirect3DDevice8.CopyRects
- D3DX9.pas
- Added possibility to link with only required subsets of D3DX9 library. You should define "D3DX_SEPARATE"
conditional define to archive this. Separate parts of D3DX9 are provided throw new ZIP archive: Clootie_D3DX90_Sep_dlls.zip
(search for it on Delphi DirectX9 SDK page). Note: if you are using most/all of D3DX9 library then it can be
more size effective to link to D3DX9 as the single DLL (1.5Mb) compared to size of all "separate" DLL's (3.1Mb)!
- Added D3DX9 helper functions for conversion of vectors to/from 16/32 bit precision floating-point numbers
(like D3DXVector3_16fFromVector3, D3DXVector3FromVector3_16f).
- Fixed: D3DX9ab.dll - now exports D3DXCreateEffectCompiler function
- Fixed: ID3DXInclude
- Fixed: ID3DXLoadUserData, ID3DXSaveUserData
- Fixed: ID3DXAllocateHierarchy
- Fixed: XSKINEXP_TEMPLATES
- Fixed: ID3DXSkinInfo.ConvertToIndexedBlendedMesh
- Fixed: D3DXColorFromDWord implementation
- DirectPlay8.pas fixes:
- IDirectPlay8LobbiedApplication.GetConnectionSettings
- IDirectPlay8Peer/IDirectPlay8Server.SetGroupInfo
- IDirectPlay8Peer/IDirectPlay8Server.Host
- IDirectPlay8Peer/IDirectPlay8Client.Connect
- IDirectPlayVoiceClient.Connect/SetClientConfig
- DirectSound.pas
- Fixed: IDirectSoundBuffer8/IDirectSoundCaptureBuffer8.GetObjectInPath
- DirectMusic.pas
- Removed contents of dmksctrl.h (IKsControl and surrounding definitions) as they are currently defined in DirectShow9.pas
- Package: Due to more size effective compression ratio now full DirectX Headers package (Clootie_DirectX90.zip) is
redistributed as WinRAR SFX archive (650Kb compared to more whan 2Mb in ZIP format). But Clootie_DirectX90_Small.zip archive
containing only JEDI version of headers is still redistributed as ZIP archive althrow now it's not smaller when full version!
- And probably some other fixes I forgot to note...
By now all of known to me "TODO:" items are implemented -
point some new ones!
Some enhancements presented here will later appear in C++Builder DirectX libraries and Delphi DirectX 8.x headers.
|
|
17-Apr-2003 |
|
Borland articles |
|
Borland Developer Network published two articles about Delphi future:
"Open Letter to the Delphi Community" and
"Octane and Delphi Q&A" (Octane is the code name for the next release of Borland® Delphi™).
These are must read for all Delphi developers.
|
|
14-Apr-2003 |
|
DirectX SDK |
|
Added DirectShow related libraries to
Borland C++ Builder DirectX 9 libraries.
With these libraries you can compile DirectX 9 (and DirectX 8) projects in C++ Builder.
Now all DirectX libraries are included in this archive.
|
|
06-Apr-2003 |
|
DirectX SDK examples |
|
Updated DX9 common D3DFramework (common.zip) for Delphi used by all Direct3D SDK samples.
Enhanced code for integration of D3DApp with VCL.
|
|
05-Apr-2003 |
|
NVIDIA Cg |
|
I've updated NVIDIA Cg package for Borland Delphi/C++Builder
with new CgFXab.dll. This DLL is more compatible with C++Builder (not required for Delphi).
Also corresponding CgFXParser.lib library for C++Builder was updated to new DLL.
|
|
02-Apr-2003 |
|
DirectX SDK examples |
|
DX9 common D3DFramework (common.zip) for Delphi used by all Direct3D SDK samples
updated. Fixed bug in D3DApp.pas (FindBestWindowedMode, FindBestFullscreenMode) that prevented application to exit correctly
when it can't find supported device/mode/etc. during startup.
|
|
31-Mar-2003 |
|
DirectX SDK examples |
|
Uploaded sample introduced in MS DirectX 9 SDK: ClipVolume.
The ClipVolume sample demonstrates a technique for using shaders to
"subtract" a sphere from an arbitrary model when rendering. This technique
could be useful in visualization applications to see inside complex objects.
The sample also shows how to perform two-sided lighting and pixel level clipping via texkill.
|
|
25-Mar-2003 |
|
NVIDIA Cg |
|
I've updated NVIDIA Cg package for Borland C++Builder to release 1.1 from NVIDIA.
|
|
21-Mar-2003 |
|
NVIDIA Cg |
|
Finally I'm presenting Release 1.1 of NVIDIA Cg Toolkit for Borland Delphi.
Borland C++Builder version will be published too soon.
What's new in Release 1.1:
- CgFX beta support for DirectX 8, DirectX 9, and OpenGL
- Additional compiler optimizations
- Fixes for bugs in Release 1.0 (December 2002)
Core API Cg headers for Delphi remains mostly unchanged, main changes are inside compiler code.
But NVIDIA once again screwed their API - now for CgFX - original API is incompatible
with Borland compilers. So, CgFX for Delphi uses special proxy DLL to work with NVIDIA binary
(C++Builder CgFX API will use it too). Another change made to original CgFX API - Delphi CgFX uses real
interfaces (COM style binary compatible) in API - not some semi-compatible stuff NVIDIA provided.
Warning: CgFX is officially still in beta stage. Actually I can't even run example provided by NVIDIA!!!
I'm personally only checked what Delphi API can load FX files and enumerate everything inside it, but have not yet
tested any rendering stuff, so bug reports strongly recommended!
INFO: CgFX is file format compatible with MS DirectX 9.0 Effect file 2.0. Main difference between MS and
NVIDIA tools: NVIDIA CgFX allows to use FX 2.0 files not only in DirectX9 but in DirectX8 and OpenGL.
|
|
09-Mar-2003 |
|
NVIDIA Cg |
|
Seems I've missed what NVIDIA released update 1.1 to their Cg compiler. So, downloading it now.
|
|
07-Mar-2003 |
|
DirectX SDK examples |
|
In the lack of real updates I just want to inform of some performance increase obtained as result of
Two Sided Stencil test implemented on newest hardware. Results were obtained in
Shadow Volume sample from DirectX 9 SDK.
In table below you how much FPS was raised then Two Sided Stencil test is enabled:
Mode \ Chip | NVIDIA Quadro 1000 (NV30) | ATi Radeon9500 |
Windowed | 2% | 1% |
Fullscreen (1280x1024x32b) | 6% | 5% |
Fullscreen (1280x1024x32b) with 4x antialiasing | 9% | 20% |
Not bad at all, taking in account what stencil testing was applied on about 1/5 backbuffer.
|
|
01-Mar-2003 |
|
Articles |
|
Here you can find list of changes in Direct3D for DirectX 9 from DirectX 8.1. provided by
Rich.
But beware: it's really too much compessed - contains all info, but don't contain any description.
|
|
28-Feb-2003 |
|
Articles |
|
I've updated "How to compile ..." series of articles to reflect new DirectX 9 content fo site and synchronize with current state
of libraries/headers:
|
|
14-Feb-2003 |
|
DirectX SDK examples |
|
DX9 common D3DFramework (common.zip) for Delphi used by all Direct3D SDK samples
updated. Fixed bug what prohibited switching to fullscreen mode (thanks to e.brood).
DX9 samples executables has not been replaced with recompiled bugless ones, so you have to do this by yourself (at least for now).
Just to note: in Direct3D samples you can switch to fullscreen mode and back to windowed mode by using <Alt-Enter>
key combination.
|
|
11-Feb-2003 |
|
DirectX SDK examples |
|
Uploaded all three StencilBuffer Direct3D samples from MS DirectX SDK 9.0 converted to Delphi.
These Stencil Buffer samples
demostrate various usage scenarious of stencil buffer, what are apparent from their names: ShadowVolume, StencilDepth, StencilMirror.
Demos had not changed much since 8.1 version of SDK, mostly are straight conversion from 8.1 interfaces to 9.0. Except ShadowVolume
sample - it now can make use of two-sided stencil test if supported by hardware (ATi Radeon 9500 & Radeon 9700;
NVIDIA GeForce FX).
PS. I've also updated
common D3DFramework (common.zip) for Delphi used by all Direct3D SDK samples -
now it's includes D3DFile unit and other misc changes. D3DFile unit simplifies simple X-files usage in Direct3D
(i.e. it manages textures used by mesh).
|
|
09-Feb-2003 |
|
DirectX SDK examples |
|
Seems I've forgot to update DirectX 9.0 Common D3DFramework used by all SDK samples, so new Direct3D9 samples can't be compiled.
Here is link to latest D3DFramework9 source (common.zip) for Delphi.
|
|
06-Feb-2003 |
|
DirectX SDK examples |
|
New Delphi Direct3D samples from DirectX SDK 9.0 available to download:
|
The Fur sample shows how to do real-time fur rendering. This sample
implementation is tied to cube but contains all the code and media files needed to render any other fur meshes. Sample do not
require hi-end hardware and should be run even on TNT-class video cards - only with vertex shader code processed by CPU.
|
The Lighting sample shows how to use D3D lights when rendering.
It shows the difference between the various types of lights (ambient, point, directional, spot), how to configure these
lights, and how to enable and disable them.
|
I've also updated DepthOfField sample source code so now it compiles
out-of-box against new DirectX headers (ID3DXEffect._Begin issue).
|
|
|
28-Jan-2003 |
|
DirectX SDK |
|
Updated Delphi DirectX headers:
DirectX 8.1 headers, DirectX 8.0 headers.
These updates include changes made to DirectX9 headers and IIRC no bug fixes on Delphi side - changes will only affect Borland C++ Builder users.
|
|
26-Jan-2003 |
|
DirectX SDK |
|
DirectX 9.0 headers for Borland Delphi have been updated.
List of changes:
- Delphi fixes
- Direct3D9 - D3DSIO_xxx constants fixed
- Direct3D9 - TD3DShaderParamRegisterType changed to constants instead of enum for Delphi5
- D3DX9 - PPointer and PAnsiChar were accidentially included in Delphi6 and up compilation due to bug in headers
- D3DX9 - Changed "pPasses" parameter in ID3DXEffect._Begin method to pointer instead of out variable
- D3DX9 - ID3DXPatchMesh.GetTessSize - fixed
- D3DX9 - Validated most of TODO items
- Borland C++Builder support
- Added official support for Borland C++Builder 6 (JEDI/Delphi 6-7 versions of some units in previous
headers failed to compile due to bug in Borland compilers related to Delphi6+ language features support in BCB)
- Many little tweaks for general C++Builder compatibility
|
|
16-Jan-2003 |
|
NVIDIA Cg |
|
Updated NVIDIA Cg toolkit for Borland C++Builder to Release 1.0 from 20-Dec-2002.
Supported C++ Builder versions: from 5 and 6.
Features of this release you can see below in Delphi Cg tookit 1.0 announce. C++Builder toolkit also supports
OpenGL, DirectX8, DirectX9 along with deprecated Cg run-time API.
Be warned: Release 1.0 of Cg toolkit contains completely updated programming interface. To enable usage of old API
in applications you should compile them with CG_DEPRECATED_API conditional symbol defined.
Download updated Cg toolkit for Borland C++ Builder...
|
|
11-Jan-2003 |
|
NVIDIA Cg |
|
Updated NVIDIA Cg toolkit for Borland Delphi to Release 1.0 from 20-Dec-2002.
Supported Delphi versions: from 5 and up.
Release 1.0 of the NVIDIA Cg Toolkit includes the following bug fixes and improvements:
- Support for new profiles
- vs_1_1 for DirectX 8 and DirectX 9
- vs_2_0 and vs_2_x for DirectX 9
- ps_1_1, ps_1_2 and ps_1_3 for DirectX 8 and DirectX 9
- ps_2_0 and ps_2_x for DirectX 9
- arbvp1 [OpenGL ARB_vertex_program]
- arbfp1 [OpenGL ARB_fragment_program]
- vp20, vp30 [NV_Vertex_program 1.0 and NV_Vertex_program 2.0]
- fp30 [NV30 OpenGL fragment programs]
- fp20 [NV_register_combiners and NV_Texture_shader)
- Improved runtime functionality
- Core runtime library for parameter management and loading programs
- Runtime library for DirectX 8 based applications
- Runtime library for DirectX 9 based applications
- Runtime library for OpenGL based applications
Be warned: Release 1.0 of Cg toolkit contains completely updated programming interface. To enable usage of old API
in applications you should compile them with CG_DEPRECATED_API conditional symbol defined.
For your convenience I'm providing slightly modified examples from Beta 2.1 of Cg toolkit for both DirectX8 and OpenGL.
Remember: you should declare CG_DEPRECATED_API conditional symbol.
Also simple Cg OpenGL sample for new API provided - it has the same functionality as old one, just coded against new API.
DirectX8 and DirectX9 samples will come later.
Note: Currently Delphi headers for Cg toolkit only supports static linking to Cg DLL's,
but later dynamic linking will be also supported.
Download updated Cg toolkit for Borland Delphi...
|
|