Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

_goat

Lets make DirectX

This topic is 5465 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

Okay, I really don''t mind if you flame me for this. I think it''s a silly idea as well. Useful, but silly. My question is, how did they make DirectX/OpenGL, and how do you make your "own" version of them. Interfacing with the hardware, using drivers, yeah. But how? I''m not fazed by ASM, nor using drivers, but there is very little information on this topic out there. And by "out there", I mean Google. :] Thus, I turn to you good people, to tell me why I should just use one of the existing ones. Oh, if you''d help me with my question, well, I''d appreciate that too. - Cheers I''''m not easily impressed. Ooh! A blue car!

Share this post


Link to post
Share on other sites
Advertisement
Oh yeah. I put this under Graphics Programming rather than DirectX because we wouldn''t be working with DirectX. We''d be starting from scratch. Writing all the code ourselves, which means 3D graphical mathematics. Which means this thread.

Just so you don''t get angry. :]

I''''m not easily impressed.
Ooh! A blue car!

Share this post


Link to post
Share on other sites
You can design your own 3D API and implement it in SOFTWARE (ie, on the CPU) using C++/ASM or whatever.

Getting IHVs to support your new API is not feasible. (Hey nVidia, wanna write a driver for my l33t3DAPIversion 0.01a ?)

Writing a software renderer for the purposes of learning/experimental however, is a worthy goal.

Share this post


Link to post
Share on other sites
If you want to do programming where you interface directly with the hardware you should either get into console programming or try and get a job with one of the PC 3D hardware vendors writing drivers. You won''t get the information you need to do it yourself (even if it was feasible in principle, which it''s not) on the PC. The hardware vendors are pretty protective of the details of how their hardware works.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Dreamcast is a nice console to try, as the hardware interface is pretty well documented in KOS (Kallisti OS), and it''s easy to run homebrew software on it

Share this post


Link to post
Share on other sites
in this thread I asked a similar question... I was told that DirectX, OpenGL, and the GDI all interface directly with the device drivers and that in theory you could duplicate what they do by reading the Microsoft DDK (which I guess is a guide for manufactures to make Windows device drivers) and learning how to interface with the drivers... this obviously would only work on Windows

let me show you how it would go down with post-its attached to the top of pens.

Share this post


Link to post
Share on other sites
Tz tz tz,what shame!The more the years pass the more people forget about software rendering and it''s something SO FREQUIN COOL!Good to see some people are still intressted in that.

"You losers better learn...NOONE CONTROLS OUR GOD DAMN LIFE!!!" - MANOWAR

Share this post


Link to post
Share on other sites
you should check out the Andre Lamothe''s latest book: Tricks of the 3D Game Programming Gurus. He writes a 3D software rasterizer from scratch (well you start with the directdraw7 framebuffer so you dont have to write video card drivers ...) At the end you have a full API that handles textures( 8 and 16 bit ), lighting, shadows and animations. He shows you all the steps to build the 3D pipeline and its very good book so far ( im near page 600 out of 1700!)

So well if your interested in that kind of stuff, its a book that you''ll definitly like

Share this post


Link to post
Share on other sites
quote:
Original post by _goat
Interfacing with the hardware, using drivers, yeah. But how? I''m not fazed by ASM, nor using drivers, but there is very little information on this topic out there. And by "out there", I mean Google. :]


You''d need the precise mapping of all registers and ports used by the target 3D chipset. And that information is classified, as it is considered trade secret by the respective manufacturers. Your only possibility to get it, is to reverse engineer the original drivers. At least on nvidia, ATI is a little more open with their lowlevel specs, I think. Still, you''d probably have to sign a heavy NDA (and pay lots of k$).

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

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

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!