• 11
• 9
• 10
• 9
• 10
• entries
707
1173
• views
435229

# Texture management system finished

126 views

Ethereal Darkness Interactive Update

DragonForge Technology

Finished my texture management system. I took Raymond's advice and instead of doing an external TextureManager class all of the texture management is done inside of the Texture class. I also got all of the logging for the texture management system done. Here is the output minus formatting:
InitializationdftLog [16:57:16] - Created window - Window{ Text="dftRenderWindow" Width="808" Height="630" }dftLog [16:57:16] - Direct3D Device created - Device{ Adapter="ATI MOBILITY RADEON X300" Resolution="800x600x32" Windowed="true" Vertex Processing="D3DCREATE_HARDWARE_VERTEXPROCESSING" }dftLog [16:57:16] - Created resource - Texture< Name="Cursor" Width="512" Height="512" Levels="0" Format="D3DFMT_A8R8G8B8" Pool="D3DPOOL_MANAGED" >dftLog [16:57:16] - Loaded resource - Texture< Name="Test" Width="256" Height="256" Levels="0" Format="D3DFMT_X8R8G8B8" Pool="D3DPOOL_MANAGED" >dftLog [16:57:16] - Resource already existed - Texture< Name="Test" Existing Filename="Test.bmp" Attempt Filename="TestB.bmp" >ShutdowndftLog [16:57:17] - Released resource - Texture< Name="Test" Filename="Test.bmp" >dftLog [16:57:17] - Released resource - Texture< Name="Cursor" Filename="" >

I pretty much dump all of the info into the log (in debug mode) so that I know exactly what's been loaded and what was trying to be loaded. Now, onto the shader system (had to finish texture management first since the shader system will use it.)

Discussion

Other news

Edit: I figured I'd post this up here instead of starting a new entry for it. Here is a screenshot of me in RL:

Horrid, huh? And yes, I'm very skinny and very white =TH. Once my new monitor shows up I'll post some screenshots of my "workspace" and my tarantula.

Edit: Wow, sorry. That picture is horrid =/. I'll get some better ones once my new monitor shows up.

## 1 Comment

k, this crap is all done. I got the state managers all hacked in. I added some preprocessor defines so that the compiler will totally eliminate the code that logs (so that no string constructors and such are called as well as the type-to-string functions.) But I left the boolean enabler in so that I can enable/disable the state change logging from the console and then comment out the preprocessor when its time to go to release mode (this way I can enable/disable during runtime in debug mode without out any or very little slowdown in the release.

I also laid out the base for the shader system. Its pretty simple and only allows for 1 technique at the moment (multiple passes though.)

In hindsight, adding the state change logging was probably a waste of time, since I probably won't get to use it, but its there in case I have graphical errors during runtime (since I am new to most of the render state system.) It would be much better if I set up a hook system so that I could output ALL state change calls (so that the I would know what states the D3DX library was changing.)

Now that I've got that out of the way I'm going to go sit outside and ponder some puzzles. I started the state change management system about a month or so ago (just before I started on Project2 with Raymond) and I really wanted to finish it. I'm hoping that I can get the engine to atleast a useable point by the 1st so that I can enter in to the next GDNet contest.

Edit: I'm thinking that I'll make 2 versions of the library - a debug and a runtime. This way I can remove the #ifdef _DEBUG crap that is everwhere. I'll have to do debug versions of some of the headers too (the state manager classes for example since the important functions are templated and need to be in the header.)