Archive

Archive for the ‘D3D10’ Category

DirectX SDK March 2009

March 24, 2009 Jendrik Illner 1 comment

Mirosoft finally released a new DX SDK, the March 2009 version this time.March 2009 DirectX SDK

New stuff for D3D11:

The Multithreaded Rendering sample got an update and now shows something more interesting than the good old “tiny” in 3 mirrors: below you can see the updated sample.

image

SubD11 Sample was updated, the clown is gone as announced at the talk at the gamefest 2008. :)

image

But sadly there is no FX Framework for D3D11 in this release, so I can work on my own system without having to deal with the feeling that I’m reinventing the wheel:)

XNA Math

XNA Math was added to the SDK, this provides a cross-platform math solution for both XBox360 and PC taking advance of the underlying support for SIMD. This is supported for all platforms but also a fallback for platforms not supporting SIMD instruction is in the package.

The sample for XNA Math, contained in the SDK, shows XNAMath being used for Collision detection. It contains a lot of useful function.

XNA Math really looks great, especially it’s implemented in one header(xnamath.h) only and because of that we have full access to the source and it’s heavily inlining the operations. A big advantage over the D3DX math libraries which were closed and compiled into libs.

Samples Content Exporter

The Samples Content Exporter is really a cool tool which is new to this version of the SDK. It has the ability to import .fbx an other file formats, which are supported through the Autodesk FBX SDK, and export the scenes to .xatg(used for the XBox 360 Samples) or to .sdkmesh (used for the windows samples).

But a warning, this tool was developed for internal use, to help with the sample development. But because it could be interesting for other developer as well, it was released to the public. Therefore it’s not officially supported, in terms of new features or fixing of existing bugs.

But I think this is a great move to make it available. Especially using the Autodesk SDK it is using a great technology in the back for importing, this should it make a lot easier to load scenes into D3D. I will have a look at it tomorrow.

 

There are a lot of other changes and improvements I can’t talk about in this post. So have a look at the SDK on your own.

Something more

  • Technical Previews of Direct2D, DirectWrite, and DXGI 1.1
  • Introducing XNA Math
  • Audio Improvements
  • Improvements to PIX
  • Updated Game Explorer Tools, Samples and Documentation
  • New and Updated Samples
Categories: D3D10, D3D11, Math

Explicit Run-Time Linking Library

January 11, 2009 Jendrik Illner Leave a comment

As I’m continue to work on my long time project. The Ganbatte Engine. This engine is developed by me for my personal projects to get more experience with all the technology popular in the gaming industry that is freely available for personal use.

The Graphics System is actually powered by D3D10 but will change after the release of D3D11 to D3D11. Since D3D11 is based on the D3D10 API it will be very easy to switch, D3D11 will also run on D3D10 hardware.

To make all the different components of the engine more independent I choose to go the way of Explicit run-time linking. So I can change the implementation of a System without having to recompile the application using it.

To make the process a little bit more streamlined and object-orientated(.Net really makes you an object beast :) ) I developed the small ExplicitRunTimeLinkingLibrary. The library is only one class actually.

image

As you can see this class is really simple.
Just 5 methods + con- /deconstructor.

The constructor takes just the name of the dll we want to get the function pointer from.

Load()
Loads the dll, returns false if something failed.

Unload()

Unloads the dll, returns false if something failed

GetFunction<T>(string functionName, T* function)
This method is most important function of the class. This method takes a name containing the name of the function we want to get the pointer to.
T* is a pointer to an object of the function signature described through a typedef.
Returns false if something failed.

GetErrorStack()
Returns an std:stack<wstring> data structure containing all the errors.
As you can see the function doesn’t return any information about what failed this information is available here.

Example:

typedef bool (*importGraphicsDeviceFunction)(IGraphicsDevice** device);
 
DllReflector graphicsDll(L"D3D10GraphicsSystem.dll");
graphicsDll.Load();
 
graphicsDll.GetFunction<importGraphicsDeviceFunction>("CreateDevice",&createGraphicsDevice);

 

As you can see very easy and straightforward.

download

Creative Commons License

ExplicitRunTimeLinkingLibrary by Jendrik Illner is licensed under a Creative Commons Attribution 3.0 United States License.

Categories: D3D10, Ganbatte Engine, all

Further progress

November 2, 2008 Jendrik Illner Leave a comment

PDC time is hard, so much cool stuff and talks to listen. A new C#, .Net 4.0 and Visual Studio 2010 CTP to play with. This really is a lot of fun. Especially “statically typed to be dynamic”(Anders Hejlsberg) made my day. But I also made some progress on my small D3D10 Framework.
I added a support for texture mapping, lightning and depth buffers.

image

Categories: D3D10, Jen3D, Uncategorized

First triangle, a green one

October 25, 2008 Jendrik Illner Leave a comment

Today I finally got some time to work further on my new D3D10 game framework and it’s going along quit nicely. 

There’s not so much new in the visible space but I added some new features behind the scenes like a logging component, a starting point of a content loader and a Memory Leak Detector. But also some work on the Graphics part was done.
Shader compiling and loading is working.
The first triangle is drawn, so I’m happy and finished for today.

green triangle

Categories: D3D10, Jen3D

It’s CornflowerBlue again

October 19, 2008 Jendrik Illner Leave a comment

I got my PC and now after I switched out the broken RAM it’s running great so I now can start working on my DirectX 10 based engine. It will be codename Jen3D.

I started working on the underlying framework, creating the win32 window, setting up a basic message loop and creating the Direct3D10 device.

And as the title says it’s CornflowerBlue again. The underlying framework is ready and can be used. As a longtime XNA-Framework user I had to choose CornflowerBlue as the default clear color :)

image

Categories: D3D10, Jen3D