Hardware Updates
I've been out of action for a few days, thanks to some testing that I was doing on the compute shader with 'customized' drivers. Basically I tried disabling the reset functionality for a hung driver, which typically triggers after 2 seconds of the driver not returning from an opera…
Direct3D 11 Programming Tip #5: Compute Shader Resources
Last time we discussed the big picture of compute shaders, and looked a little bit of the syntax needed to get them set up. This time around, we will look a bit closer at the resources used with compute shaders in both HLSL and the applicatio…
D3D11 Programming Tip #4: Compute Shader Introduction
The next couple of Direct3D 11 tips that I'll be writing about will be discussing the compute shader, which I personally consider to be the single most important addition to the D3D API since programmable shaders - which says a lot about what you…
D3D11 Programming Tip #3
Over the last few days, I have been working to get multiple swap chain support added into Hieroglyph. Overall, the process wasn't too hard, but there is one really big gotcha that can seem really confusing if you run into it - so that is what today's tip is going to be abou…
I'm pretty excited about the progress that I'm making on using D3D11 - my renderer is more or less feature complete, although I'll be adding some helpers and cleaning things up as I go. There are just under 50 D3D11 specific classes, and I'm happy with the overall design thus far. Now it's time t…
D3D11 with MS3D
I spent some time updating my geometry classes to allow for all of the myriad primitive topologies that are allowed for in D3D11. Its a bit surprising to see, but there are 32 different types of control patch primitives for use with the new tessellation shader stages. I basically a…
Geometry in D3D11
I have a bit of a time crunch to get some additional functionality built into my D3D11 renderer - so I spent today porting over my geometry classes from the D3D9 side. The general design is that a 'GeometryDX9' class serves as the top level container for a group of 'VertexElementD…
Progress on Several Fronts
I did pretty good on my thesis writing, and decided to work on my engine for a while (I managed to go a whole three days without working on it, which is a BIG deal for me since I've worked on the engine nearly every day for ~7 years!). Following up from last time, I manag…
Back From the Wilderness
I have spent two of the last three weeks camping, which has given me some time to reflect on my current projects - where they are, where they are going, and what priorities they should each be given. For sure, working full time, completing a Masters Degree, and doing engine…
Engine Plugins
I made great progress on my thesis, so I spent some time with my engine too... My original plan for the third iteration of my engine was to have a plugin system for the engine components. There was quite a few different motivations, ranging from easy updates for applications to supp…
Getting Shader Details in D3D11
While attempting to get my D3D11 renderer to automatically update constant buffers based on the information from the shader itself (to determine what to load into it), and I decided to write some code to convert all of the shader reflection information into text and b…
Text Animation by Event System
I've been out of town camping for the past week, and so I haven't had much quiet time with my compiler lately. However, right before I left I managed to finish up a small text animation system for my text entity classes. The way that my engine handles text is to crea…
Virtualized Scenes and Rendering
A while back I was posting frequently about all of the progress that I was making with my Lua scripting system and exposing my engine to the script world (see here). I ended up working on FeedBack and my D3D11 renderer for a while, and slowed down a bit on the scrip…
Modern Text Rendering
Lately I have been gathering my thoughts on how to add some more advanced text rendering capabilities to my engine. The D3D9 renderer uses the normal built in ID3DXFont class to render text, and the D3D11 doesn't have anything at the moment. The ID3DXFont class serves its pur…
D3D11 Shader Reflection Article
I took some time over the past few days to write a short article on utilizing the D3D11 Shader Reflection API. When I originally got started with the API, I found it somewhat confusing to follow (which may have been due to my own shortcomings...) so I thought it coul…
Shady Drivers...
Well, it was a good try. I converted everything over to run on the down level hardware for my NSE Simulation, which should run on D3D_FEATURE_LEVEL_10_0. When I run it with the reference device everything works well, except for the speed of course. When I try running it on my exp…
Short (Driver) Update
Just a brief update today. I am trying out a new driver from laptopvideo2go.com to see if I can get hardware acceleration for some of my d3d11 work. I am typically averse to trying drivers that aren't from my manufacturer on laptops, but I have a 8600M GT on my development la…
Grid Based D3D11 NSE Water Simulation
Things have been a little too busy lately, but I managed to get my NSE Water Simulation updated to allow a grid based processing scheme. This allows the grid size to be significantly larger while still utilizing future GPU's hardware during processing. An upda…
Continuing the Struggle
Over the past few days, I've been steady working on my thesis software implementation and haven't had much time for graphics work. Even so, I managed to finish creating my state classes for the DX11 renderer. With that in place, I now have the tools available to take the ne…
Navier-Stokes Equations Solver - Compute Shader!
After a couple of weeks of engine development and testing, it was really nice to spend a few days on an actual algorithm to implement in D3D11. When I originally heard about the Compute Shader, one of the first techniques that I thought of was the NS…
D3D11 First Renderer Image
After what seems like forever, I have managed to generate my first rendering with D3D11. It may appear to be a simple thing, but there is actually quite a bit of work going on behind the scenes to make all of the resources work together with the pipeline and shader config…
D3D11 Variable Binding
I've managed to wrap up the resource creation code, the resource view creation code, and the shader loading/reflection code. To be perfectly honest, the majority of the time was spent deciphering the D3D11 documentation and header files - especially with respect to the shader…
D3D11 Shader Resources
Over the past two days I have really been digging deep into the various objects that D3D11 allows for shader use. From an engine point of view, I need to provide access to the shaders for any type of object that D3D11 has - and there is a large proliferation of object types t…
D3D11 Resources
I spent my development time today reading up on D3D11 resources, and implementing my classes to represent each of the standard buffer types: vertex, index, and constant buffers. The whole design of the resource hierarchy in D3D11 feels very clean and intuitive to me - I like it! Th…
Direct3D 9 AND Direct3D 11!
This is one of the more fun aspects of having support for multiple windows in an engine that supports multiple renderers. My standard engine application uses my D3D9 renderer in a single primary window. While getting my D3D11 renderer up and running, I decided to try ou…
Getting Started with D3D11
I've been quite busy lately with my thesis research, but I managed to start getting a basic D3D11 renderer set up. I have begun reading through all of the documentation and trying to piece together how I want to approach the design. D3D11 isn't so different from D3D10 or…
How Many Renderers Will Fit In There???
I'm ready for a short break from working on FeedBack, so I started a small 'extension' of my engine. After reading about Jack's work with D3D11, I have to admit that I was a bit jealous, and I have taken a liking to the Compute Shader. So in my free time tod…
Actuator Models + Scriptable Creation
With the whole RenderWindow implementation behind me, I spent a little time getting the supplied artwork into the game. Here is a quick screen shot showing a scene with three of the actuators. Notice that there isn't any shading applied to the models, these ar…
Multiple Render Windows
When faced with the choice of windowing framework, I had originally planned on supporting MFC. After several suggestions, I was also considering Qt and wxWidgets. I spent a little time to figure out what I liked about each of the frameworks, and I realized that I could have…
Scripting Physics Objects
Over the past few days, I have been working hard to get scripting interfaces added in for all of the new physics objects. I finally caught up with the rest of the engine today, and now have a full line up of lua objects that can be created, manipulated, and destroyed all f…
Over the past few days, I have been working hard to get scripting interfaces added in for all of the new physics objects. I finally caught up with the rest of the engine today, and now have a full line up of lua objects that can be created, manipulated, and destroyed all f…
Advertisement
Popular Blogs
Advertisement