Help about tools for graphics programming

Concerto

Newcomer
Hello, first I would like to apologize for the generic title and I would like to say that I've been a follower on this forum for quite a while and decided that I wanted to participate in the graphics discussions other than just reading about it. But I have a problem and that is I do not know where to actually begin in regards of tools or software. I have ambitions on working within the programming languages of C, C++ and Java (maybe others in the future) and working within the Windows environment. I also would like to work on more of the cpu driven graphics side of thing Any guidance on the matter will be much appreciated.
 
That's a wide topic, any way you can narrow it down somehow?

Visual Studio
Notepad++
RenderDoc
Mercurial/Perforce/Git
Everything
WinMerge (?)
 
O.k. I suspected that I wasn’t clear enough. I know about Visual Studio and Notepad ++ (although not so much of the others shown), but I was thinking more in line of like Direct Draw or Simple Direct Media Layer, something like that. I am thinking of the right things aren’t I or do I need something else?
 
If you want to learn I wrote a series of articles about 3D engine here, also there's iD Software source code which is really good.
When it comes to making something, Unity & Unreal Engine 4 come to mind.
If you want to make your life easier there are plenty of libraries out there, but I'm afraid I already wrote or know how to write all the basic stuff so I don't need many of those so I can't really recommend anything with first hand experience.
 
Since you wrote "cpu driven graphics" you might want to clarify if you mean realtime rendering or offline rendering. For example, games are typically rendered using the GPU with setup by the CPU. Production renderers used in movies, commercials, etc. often use only the CPU, though some use the GPU too.
 
Okay, this just shows how poorly I communicate my intentions. To clarify, I am doing this as a hobbyist and I do intend on writing a real-time software rasterizer on the cpu to learn about the graphics pipeline. My biggest issue right now is one of ignorance as I try to correct my misconceptions like what I need to know so I can just draw something to the screen. I hope that clear things up.
 
As roderic hinted at, maybe grab the source code for quake1 or quake 2 and have a look at them
both have cpu and gpu rendering engines.
or maybe this will be more helpful
Write a 3D Software Engine from Scratch
https://www.sitepoint.com/write-3d-soft-engine-scratch-part-1/
edit: better link
https://www.davrous.com/2013/06/13/...e-from-scratch-in-c-typescript-or-javascript/

Unfortunately my super impressive rotating wire frame cube program written in basic has been lost to the mists of time.
the world still mourns....
 
Last edited:
Wow, thank you guys for the information, you are all really helpful. Seems a bit embarrassing that I could not find this myself. Okay, so I will take these into acount and see what I come up with. I guess if I have anymore questions I will post here.
 
Back
Top