The choice of ATI or nVidia for my book…

From one of my previous posts this week about my issues getting my new book (“Shaders for Game Programmers and Artists“) listed on, i did receive several pieces of feedback. One of feedbacks questioned my choice of the ATI tool named RenderMonkey for my book and how much issues that person had with ATI in general. This was an interesting comment (which you can read HERE) and thought i should respond with a blog entry since others might wonder the same.

First of all, I should answer the basic question as to why i chose to use such a shader editing tool instead of developing either plain shaders or develop some DirectX or OpenGL application? My goal with the book was to attack the topic from a different angle. The fact is that there are plenty of books touching the topic of shaders our there and I wanted to stand out. So I realized two things…

First of all, most book out there focus both on shaders and some rendering API (such as DirectX or OpenGL). The fact is that to use shaders in the first place, you need an application to run them in. For my book i decided i wanted to focus on shaders exclusively.

The second fact is that there is alot of artists out there which are technicaly minded can do more than simply model 3D geometry. There was no books out there focusing on the topic in a way that artists could relate to and it seemed like a good opportunity for me to take hold of.

But for this to happen, i had to accomplish one thing. Demonstrate several shader techniques without any need to know general programming or and specific rendering API. So a tool like RenderMonkey seemed like the best choice. The question people might ask is why RenderMonkey by ATI and not FXComposer by nVidia?

At the time when i started writing this book, well FXComposer did not exist yet, so i did not have much of a choice. I i were to write a book today on the same topic, i would likely evaluate both options before i would make a decision on which tool to use. From another perspective, as a developer, ATI has been way more responsive to my needs than nVidia and felt more confortable working with them as i knew they would help me when i needed it.

The last thing i would like to clarify is the fact that although i use ATI’s RenderMonkey, this tool will work just fine on any shader capable video card (including nVidia’s cards) so from the reader’s point of view, it should not matter who wrote this tool in the first place. In addition, RenderMonkey serves as a framework to develop shaders and effects. The reality is that nothing prevents the use of another tool or from integrating such shaders into your own application or game.

Hope this clarifies some concerns :)

Comments (2)

  1. Jeff Parker says:


    Yes this clarifies as to why and thanks for explaining this. I would be interested in another topic later as to what you think of the NVidia FXComposer.

    Another side topic which is not covered in your book which is understandable as it seems the world of 3d is poly mesh but, Polygonal Meshes vs. Nurbs. I know when ever I render a nurbs model I have to convert to a poly mesh, but the Nurbs I seem to have more control over and be more productive using Nurbs. Thoughts opinions? Have you ever attempted shading against Nurbs?

    Nurbs Standards

    Polygon Mesh, well there seems to be no standard other than the openGL standard to meshes. However it seems about every application has a propriatary way of working with them and generating them and they come in a whole flavor of formats.