30-Dec-2002 |
|
DirectX SDK |
|
Today I've added
DirectX 9 libraries compatible with Borland C++ Builder.
With these libraries you can compile DirectX 9 (and DirectX 8) projects in C++ Builder. Currently libraries support all
DirectX components except DirectShow. So, combining C++Builder libraries and Borland compliant DirectX 9 headers for Delphi
you can building
fusion Delphi/C++Builder DriecX projects, like this
NitroFont Renderer for Direct3D8.
Go to download page.
|
|
30-Dec-2002 |
|
DirectX SDK |
|
Just a remainder: Delphi DirectShow headers for DirectX 9 SDK as always can be found at
Henri Gourvest site dedicated to DirectShow.
On this site you can find DirectShow components for Delphi what make DirectShow delevopment in Delphi so easy task.
|
|
25-Dec-2002 |
|
DirectX SDK examples |
|
Uploaded "initial" convertion of common Direct3D framework used throw all MS DirectX SDK samples
(this framework also used in many ATi samples). Currently it misses D3DFile unit with additional
support for loading and rendering X-files.
For people who are unaware what D3DFramework is I recommend to read this small article:
CD3DApplication Demystified.
First Delphi Direct3D SDK 9.0 sample is available!!!
The DepthOfField sample shows a technique for creating a depth-of-field effect with
Direct3D, in which objects are only in focus at a given distance from the
camera, and are out of focus at other distances.
Sample uses FX effect-file to drive rendering for different hardware / techniques. Techniques include PixelShader 1.1,
PixelShader 1.4 and PixelShader 2.0 variations with HLSH (High Level Shading Language) and assembler implementations.
So looking in this sample one can see how D3DFrawemork works and learn alot about new features of DirectX9 and DirectX9
compliant hardware (Radeon9700 and Radeon9500 currently).
For people who have not yet downloaded and compiled any of DirectX samples from this site I reccomend to read this article:
How to compile ObjectPascal DirectX examples. Actually article is not updated to
DirectX 9 and is written about DirectX 8.x, but you will get the idea what do you need to do by changing DirectX 8 links to
appropriate DirectX 9 ones.
|
|
22-Dec-2002 |
|
DirectX SDK examples |
|
I've added 6 classic Direct3D tutorials now for DirectX 9 at
DirectX 9 SDK for Delphi page.
|
|
22-Dec-2002 |
|
DirectX SDK |
|
Updated DirectX 9 SDK headers for Delphi: added DirectMusic headers and corrected stupid bug in DXerr9.pas.
Go to download page of DirectX 9 SDK for Delphi.
PS. And don't forget to report any bugs and compatibility issues in these headers. You can do this by
e-mail or in Delphi DirectX forums
here.
|
|
20-Dec-2002 |
|
DirectX SDK |
|
I'm happy to announce availability of DirectX 9.0 Delphi headers and libraries in day of DirectX 9 SDK release!
Delphi DirectX 9 SDK headers adaptation followed by Borland and JEDI+ standarts available for all (up to 9.0) versions of
DirectDraw, Direct3D, DirectInput, DirectSound; DirectPlay8 (with DirectX9 bits);
D3DX 9.0 headers with support library; dxerr9 (DirectX 9.x error reporting) headers with support library.
As always there are two packages with headers are available: one (bigger) contains both JEDI compliant version,
preprocessed versions of headers for Delphi 4/5 and Delphi 6/7, special simplified version of not Borland compliant headers
(Compact subdirectory)) and (smaller) with only JEDI+ compiant headers included. DirectX helper libraries (DLL's)
for D3DX9 and DxErr9 modules are available in separate ZIP archive due already big size of headers (and actually not evereone
will use these DLL's).
Go to download page.
|
|
16-Dec-2002 |
|
DirectX examples |
|
Added new sample: ParticleSystem1 - unidirectional generator.
Main idea of this sample was to demonstrate right and wrong ways of generating uniform distribution of
unit length vectors - so end-points formed by these vectors forms sphere surface. But in process of providing
visual feedback for user some other interesting techniques appeared.
I try to list them below (in advanced - beginner order):
- Vertex shader assembler code for particle systems with particle size calculation.
- Stencil buffer / matrix operations for mirror rendering.
- Various frame buffer blending modes.
- Rendering graphs with with transformed and lit vertices.
- Usage of DrawPrimitiveUP D3DDevice method (for graph rendering).
|
|
14-Dec-2002 |
|
NVIDIA Cg |
|
Updated NVIDIA Cg toolkit for
Borland C++ Bulder with new LIB files. Now you are not forced to turn off underscore prefixes
generation for exported functions in C++ Builder Cg projects.
Download updated Cg toolkit for C++ Builder...
|
|
12-Dec-2002 |
|
DirectX SDK |
|
Yesterday I've forgot to add DirectDraw examples download links. So
here they are.
Available DirectDraw examples: AnimatePalette, DDEnum, DirectSurfaceWrite,
FullScreenDialog, FullScreenMode, GammaControl, OverlayAnimate, RefreshRate, SpriteAnimate,
SwitchScreenMode, WindowedMode. Also DDUtil.pas helper unit can be found in archive too.
NOTE: these samples are not supported and/or maintained by me.
|
|
11-Dec-2002 |
|
DirectX SDK |
|
Today to originally maintained Direct3D8 headers for Delphi I've added headers for all
versions of DirectDraw and Direct3D, dxerr8 headers (DirectX 8.x error reporting) with
support library. Direct3D8 and D3DX8 headers for both 8.0b and 8.1x versions were updated.
Of cource, new headers are Borland and JEDI compliant, but now with official support for
Delphi7. So all DirectX graphics related headers can be found on this site.
Also I've added links to DirectDraw examples from DirectX 8.1 SDK converted to Delphi.
Below you can find list of changes:
Starting from this update Delphi header/sample download pages will be separated in two
different areas: current - supported by MS - headers and downgrade pages. Currently as downgrade
page you can see Delphi DirectX 8.0 SDK with examples
page. This page only contains Direct3D8 and D3DX8 headers with support libraries and samples for these headers -
as in 8.1 version of SDK MS changed these headers and new headers don't support 8.0 version (but 8.0 version
is last version of DirectX SDK what can run on Windows 95, next [8.1] version requires at least
Windoes 98). When DirectX 9 will finally out almost the same will happen to
Delphi DirectX 8.1 SDK with examples page, as where
will not be reason to supply D3DX8 and DXErr8 helper libraries with DirectX 9 Delphi SDK. What is really
contained in downgrade pages described on
Delphi resources page.
One more change was happened - I was forced to slightly change "branding" of headers, as Tim Baumgarten page
with DirectX headers linked to main page of JEDI.org often referenced as JEDI headers, but lacks JEDI compliance
on translation standarts and there are no chances what this will be changed ever ;-(. So, starting from this
release I recommend refer to DirectX headers from this site as "Clootie DirectX Headers" (I know it's
shameless, but this is most natural and easy to remember title).
And the last change - due to increasing size of headers package - DirectX helper DLL's now not included main
ZIP headers package and available only as separate download.
|
|
29-Nov-2002 |
|
DirectX SDK |
|
I've added part of media folder from DirectX SDK 8.x available for download at Delphi DirectX SDK
download pages:
DirectX 8.0 page,
DirectX 8.1 page. Note: links in above
mentioned pages refer to the same files.
These media files are provided for peple who have not yet downloaded and installed DirectX
SDK. [Shame on you!!!] Ok, I understand what downloading about 200Mb can be paintfull, so
you have this download item.
|
|
27-Nov-2002 |
|
DirectX examples |
|
New small test application:
DebugRuntime. This simple application detect is Direct3D8 or Direct3D9 debug runtime
activated.
|
|
19-Nov-2002 |
|
DirectX SDK examples |
|
Uploaded 3 Direct3D samples converted to Delphi from StencilBuffer folder of DirectX SDK 8.1.
These Stencil Buffer samples
demostrate various usage scenarious of stencil buffer.
All 3 demos had not changed much since 8.0 version of SDK, just some compatibility fixes with new
version of D3D framework have been done.
|
|
14-Nov-2002 |
|
DirectX 9.0 |
|
In addition to yesterday news: ATi released DirectX 9.0 RC0 beta drivers for Radeon 9700.
On this page
you can find drivers and four great DirectX9 demos. These are MUST HAVE for Radeon9700 owners!
|
|
13-Nov-2002 |
|
DirectX 9.0 |
|
Today Microsoft released DirectX 9.0 RC0 as Public Beta. Note: this is NOT the SDK, just the
runtime bits.
Download link.
|
|
29-Oct-2002 |
|
DirectX SDK examples |
|
For people who still have not downloaded DirectX SDK - I've uploaded X-files needed for VolumeFog sample, published
yesterday.
|
|
28-Oct-2002 |
|
DirectX SDK examples |
|
The Volume Fog sample shows the per-pixel
density volumetric rendering technique.
The fog volume is modeled as a polygonal mesh, and the density of the fog at every pixel
is computed by subtracting the front side of the fog volume from the back side. The fog is
mixed with the scene by accumulating an in/out test at every pixel -- that is, back-facing
fog polygons will add, while front-facing ones will subtract. If the value is non zero,
then the scene intersects the fog and the scene's depth value is used. In order to get
better results, this demo uses 12 bits of precision by encoding high and low bits in
different color channels.
More info on this sample can be read in supplied readme.txt file. Also VolumeFog technique
is discussed in
this PowerPoint presentation showed by Daniel Baker at GDC 2002.
|
|
19-Oct-2002 |
|
DirectX SDK examples |
|
New samples from MS DirectX 8.1 SDK:
VertexShader and
VolumeTexture. Source code for samples
is equal to DirectX 8.0 SDK.
|
|
14-Oct-2002 |
|
DirectX SDK examples |
|
I've uploaded Delphi version of VertexBlend
sample from MS DirectX 8.1 SDK. It's almost unchanged in comparision to 8.0 version of SDK.
|
|
08-Oct-2002 |
|
DirectX SDK examples |
|
Two samples from MS DirectX 8.1 SDK uploaded today:
PointSprites and
RTPatch. They have very small changed in
comparision to DirectX 8.0 SDK ones. PointSprites have bug's fixed and RTPatch modified for
compatibility with new D3DFramework from SDK.
Take a note what IMHO no hardware currently support
RTPatches in drivers.
|
|
05-Oct-2002 |
|
DirectX SDK examples |
|
After long silence on DirectX SDK samples today I present ObjectPascal version of
SkinnedMesh sample from DirectX 8.1 SDK.
Sample demonstrates loading, parsing and displaying animated hierarhy of X-file frames.
DirectX 8.1 version of this sample in comparision to DirectX 8.0b one introduces VertexShader
skinning mode and some optimizations in other drawing modes.
|
|
03-Oct-2002 |
|
DirectX examples |
|
New GifBlender2 sample - sequel to
GifBlender. There are many changes,
including, but not limited to:
- GIF's are rendered by blending two nearest frames of GIF animation on multitexture
capable hardware;
- 3 different texture pipeline setups tested for best quality rendering result:
(a) simplest NVIDIA TNT class, (b) Matrox G400 class, (c) NVIDIA GeForce,
ATi Radeon - 3 stage setup;
- GIF handling/rendering moved to separate portable between applications Delphi class;
- Usage of Ander's Melander TGifImage component is reduced to loading stage -
animation frames loaded to Direct3D textures, timing info retrieved to internal
data structure. All rendering and timing after that is handled by TD3D8GifImage
class.
Addition: GifBlender sample is also
updated - fixed code snippet prevented to compile it under Delphi5.
|
|
27-Sep-2002 |
|
NVIDIA Cg |
|
Updated NVIDIA Cg toolkit for
Borland Delphi and Borland C++Bulder to version 1.5.1.6 aka Beta 2.1 released 12-Sep-2002.
Previous (Beta 2) and current versions are binary compatible - i.e. executables compiled with previous
version will run just fine against new DLL's and most of new executables will work with old DLL's.
The only change to interfaces part is addition of new "bind locations" for use with
ARB_vertex_program profile.
Download new Cg toolkit...
|
|
15-Sep-2002 |
|
DirectX examples |
|
New simple sample - GifBlender - showing
how to draw animated GIF on Direct3D texture using Ander Melander's TGIFImage component.
|
|
14-Sep-2002 |
|
NVIDIA Cg / Pure DirectX examples |
|
Both DepthColoring (pure
DirectX/Direct3D) and DepthColoringCG
(NVIDIA Cg/Direct3D) samples have been updated. Fixed some bugs in code and now both samples can
run on non hardware VertexShader capable cards. Just to note: Radeon8500 with current drivers
have some bugged VS implementation - so
DepthColoring sample shows garbage colors produced during VS processing, but
DepthColoringCG doesn't exhibit this
bug as Cg compiler produces non-optimized / different code.
|
|
09-Sep-2002 |
|
NVIDIA Cg |
|
After getting DepthColoring sample
running I've decided to convert VertexShader part of sample to use NVIDIA Cg toolkit.
Final result of this attempt is here:
DepthColoringCG sample.
Converting to higher level language is a great joy. Just couple of hours - and you get fully
working and debugged code. Net result is not as speedy as hand optimized code - but anyway by
the end of the year we will have both NVIDIA Cg with optimizing compiler and MS DirectX9 HLSL
with MS ability to use people with a lot of compiler development experience.
Find more information about sample on download page.
|
|
02-Sep-2002 |
|
DirectX examples |
|
New Direct3D WVPick sample is a result of
continually arizing questions from readers requesting how to calculate object coordinates if more
complex motion is occuring in comparision to
MS DirectX SDK Pick sample. So this sample has exaggerated motion of object - object is
rotated by both WORLD and VIEW matrices (in original sample object was rotating only in VIEW space)
AND user can move object in view space by dragging it with right mouse button.
Go to download page.
|
|
29-Aug-2002 |
|
DirectX examples |
|
Uploaded new Direct3D DepthColoring sample
- this sample shows how to convert depth information to color during vertex processing by various
techniques.
Additionally this sample contain fully Delphi resource compiler compatible resource file
(contains menu, accelerators table, "change device" dialog templates).
You can find more information about sample on download page.
|
|
26-Aug-2002 |
|
NVIDIA Cg |
|
Updated NVIDIA Cg toolkit for
Borland Delphi and Borland C++Bulder to version 1.5.0.7 aka Beta 2 released 16-Aug-2002.
There are many changes in compiler implementation (it's got syntax more close to DirectX 9 HLSL)
and in some runtime interface parts. These changes will require some rework of shaders code and at
least recompilation of your Delphi/C++ code.
Both Delphi/C++ headers has beed updated along with Delphi samples.
Download new Cg toolkit...
|
|
19-Aug-2002 |
|
Microsoft DirectX 8.1b |
|
While DirectX 9.0 is proceeding beta stage, Microsoft wrapping up release of DirectX 8.1b SDK.
Most important parts of DirectX 8.1b are runtime bug fixes, so most important parts of DirectX
8.1b SDK (for owners of DirectX 8.1 SDK) are 8.1b debug runtimes. Here we go:
|
|
18-Aug-2002 |
|
Microsoft DirectX 9.0 |
|
DirectX 9.0 specifications start to to pop over net. Look
here. Pixel and vertex shaders up to version 3.0 looks encouraging at least ;-).
|
|
14-Aug-2002 |
|
NVIDIA Cg |
|
NVIDIA
released source code for Cg compiler (cgc.exe) with a "generic" profile, which does some
minimal semantic checks and prints out a tree representation of the code.
Code can be compiled with Microsoft Visual C++ 6.0.
Note: you can download NVIDIA Cg runtime interfaces for Delphi and C++Builder
here.
|
|
13-Aug-2002 |
|
DirectX SDK examples |
|
Converted Pick sample from DirectX 8.1 SDK to
ObjectPascal (we should call this Delphi language according to new Delphi7 documentation ;-)).
Sample shows how to implement picking; that is, finding which triangle in a mesh is intersected by a ray. In this case, the ray comes from mouse coordinates.
To do this inverse transform is calculated and triangle is searched in displayed mesh.
DirectX 8.1 version of sample (in comparision to 8.0 version) displays coordinates of all ray-mesh
intersections, allows to use D3DX 8.1 ray-triangle test functions (throw interface) instead of
custom written code and show all or closest hitted triangle.
By the way: Direct3D 8.0 SDK Pick sample is
also updated with small formatting changes.
|
|
12-Aug-2002 |
|
Delphi Direct3D headers / DirectX SDK examples |
|
Maintenance update.
Updated DirectX 8.0b headers - added
J_D3D.inc file for compatibility with old DirectX 8.0 SDK examples. Uploaded revised
D3DFramework for DirectX 8.0 (D3DFrame.zip)
- discovered what on site version still used aforementioned J_D3D.inc file, so new version
"correctly" depends on DirectX.inc file and has some source code formatting issues fixed.
|
|
04-Aug-2002 |
|
DirectX SDK examples |
|
Converted Water sample from DirectX 8.1 SDK to
ObjectPascal. The sample illustrates how to use D3DX techniques stored in shader files.
It shows a square pound inside a building, with rippling water effects including water caustics.
Behaviour of this sample is identical to Direct3D
8.0 SDK Water sample. Code changes caused by differences in D3DX implementation between 8.0 and
8.1 versions. To recall: in D3DX 8.1 techniques allows you to use strings as parameter names (instead of FOURCC)
and use one interface ID3DXEffect instead of using two distinct ID3DXEffect and
ID3DXTechnique interfaces.
By the way: Direct3D 8.0 SDK Water sample is
also updated with small formatting changes.
|
|
01-Aug-2002 |
|
DirectX examples |
|
Updated
XFileSmooth Delphi sample ZIP archive -
added absent 'winmain.res' resource file.
|
|
30-Jul-2002 |
|
DirectX SDK examples |
|
Uploaded new Direct3D sample 'Cull' from DirectX
8.1 SDK converted to ObjectPascal.
This sample illustrates how to cull objects whose object bounding box (OBB) does
not intersect the viewing frustum. By not passing these objects to Microsoft®
Direct3D®, you save the time that would be spent by Direct3D transforming and lighting
these objects, which will never be visible. The time saved could be significant if there
are many such objects or if the objects contain many vertices.
|
|
25-Jul-2002 |
|
Delphi Direct3D headers / DirectX SDK examples |
|
One more maintenance update.
Updated D3DX8 headers for 8.1 and
8.0b DirectX versions. Fixes to:
D3DXWeldVertices, D3DXLoadSkinMeshFromXof,
D3DXIntersect/D3DXIntersectSubset, D3DXSplitMesh.
Also more updates to DirectX SDK samples both maintenance and related to fixed D3DX8 headers:
SkinnedMesh (DX 8.0),
BumpSelfshadow (DX8.1) - once again and
CubeMap (DX 8.1).
|
|
22-Jul-2002 |
|
DirectX SDK examples |
|
Today I present some maintenance update. Thanks to Takaya Kakishima I've fixed bug in
OptimisedMesh (DX 8.0,
DX 8.1) sample that shows up when no
DirectX SDK intalled on computer. Also some compatibility issues fixed in
BumpSelfshadow (DX8.1) and
SkinnedMesh (DX8.0) samples.
|
|
16-Jul-2002 |
|
NVIDIA Cg |
|
Updated NVIDIA Cg toolkit for
Borland Delphi and Borland C++Bulder to version 1.0.1.
No changes have been made to headers, so all projects are fully compatible with new version.
But there are new DLL's and internal Delphi/C++Builder implementation of DirectX classes
have been changed to comply with NVIDIA original implementation in object creation behaviour.
Also DirectX sample executable have been recompiled for new DirectX helper DLL.
Download new Cg toolkit...
|
|
12-Jul-2002 |
|
NVIDIA Cg |
|
NVIDIA yesterday released it's
Cg toolkit (version 1.0.1).
No more beta stage.
So, stay tuned...
|
|
09-Jul-2002 |
|
DirectX SDK examples |
|
Uploaded new Direct3D sample OptimizedMesh
from DirectX 8.1 SDK converted to ObjectPascal.
DirectX 8.1 version provides much more optimization possibilities: dynamic vertex buffers; vertex cache or
strip reordered; drawing using strips, single degenerate strip or triangle lists.
|
|
02-Jul-2002 |
|
NVIDIA Cg |
|
Updated NVIDIA Cg adaptation for Delphi.
Now cg_ab.dll is gone and parts of it are embedded in both cgD3D_ab.dll and
cgGL_ab.dll libraries used accordingly in DirectX and OpenGL projects. This modification
reduces size of your applications redistributive by something like 100Kb.
To allow above modification cg.pas is converted to cg.inc and is included in
both cgD3D.pas and cgGL.pas. For convenience empty cg.pas is provided, so you
projects will not need modifications (only recompile). But it's strongly recommended to remove all
references to cg.pas at all. Both OpenGL and DirectX samples have been modified slightly
and recompiled for compatibility with new DLL's.
Go to NVIDIA Cg adaptation page for Delphi/C++Builder.
|
|