Jump to content
  • Advertisement
Sign in to follow this  

Back coding after long illness...

This topic is 2092 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I started DX programming in 2004 with DX7 and quickly built a decent 2D engine with some 3D fluff and a decent "from scratch" sound library.


It got to the stage where I managed to sell 3 full copies of the engine with source code for US$200, things were going well until I started getting sick to the point where even sitting up at the computer was a no go.


I got back into programming recently and found the "old code" was beyond repair as so much has changed. Decided to salvage what I could, learn from the rest and start fresh.


Been working with DX11 so have recently learnt HLSL from scratch and been using the MS vector and maxtrix maths library with the SSE2 extensions.


Had a lot of good success lately and even managed to make my own fancy script for GMAX which exports models to a simple format I can use. Recently (for the first time) implemented a scene manager to remember the transformation, material and models and then render as a batch after sorting to maximize batching. Even decided to throw some culling in for good measure (and good results).


Quite surprised as to the results, did some optimizing and was shocked when fruit of my labour resulted in the framerate going from 100 fps to 1000 fps.


I found it very hard to find a model format for exporting. (googling suggests I am not alone!) Was using the ASE format but had the last straw with that when materials were exported wrong. Managed to learn MAXSCRIPT in ~2 days and built a robust exporter which does everything I need and is IMO general enough for anyone to use for their own simple models. The output is text but is < 1/4 the size of the same ASE files I was producing. They also take a lot less effort to parse and load. All the floating point data is exported as the smallest string each one can be. (ie. no trailing 0's, scientific notation and no leading 0's or spaces).


My project at the moment is still in the "proof of concept" stage where I'm implementing parts and testing but the parts have recently come together very successfully.


On another rant... tested 3 pysics SDK's for inclusion and ... well the verdict is not clear.


Tested Tokamak, Bullet and PhysX. Got all to work, physx I must admit is fast, nicer code but .... has a lot of functionality I would never use... sparse on useful documentation, bloat? ... no static linking and has largeish footprint.


Bullet I found a bit hard and messy to use, didn't fit too well with XMMATRIX XMVECTOR too well.


Tokamak... not updated for ages but is a much smaller and simpler package. Very tempted to grab it and convert all the internals to use the XM math library for SSE2 support.


Still have to look at Newton.


Have attached screenshot of the exporter along with a sample of the output. I'm thinking about calculating normals, binormals and tangents and exporting them as well if the option is chosen. Reason being, prob faster to calulate them rather than store/load/parsing the data.


If people are interested in the export script... just reply and i'll attch it after a few cosmetic changes I have put off.





Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!