-
what library to use
My friend and I are starting a bit of a competition to see who can make the best 3D engine, and I am wondering what graphics library I should use. I don't want the library to do any of the math for me or anything like that, that is what the competition is about. What I need is something that will allow me to run in 1281*1024 resolution at 16 million colors and allow me to write to video memory easily and quickly. I would like to be able to work out some form of page flipping so that it won't look like crap...if one of the libraries does that automatically, that would be cool. Otherwise, if it's easy enough to write to the video memory, I can set it up manually. Basically, all I need is something that will let me use a couple simple graphics commands, I don't REALLY wanna do the whole thing with putpixels, it would be slow, I need some variation on that...speed and simplicity of coding is all I need, nothing to do math for me, I can handle all of that. Tell me what comes the closest please, thanks.
-
for best speed, use asm:D
-
-
ASM
hey guys, I would love to use assembly to write my program, but I don't know it :) If someone wants to put up a link to a site that will teach me how to do what I need to do in asm, I'll do my best to learn it, though (:
-
Hmm, Do you even know ASM?
-
asm
nope, as I just said, I don't know asm, but I am willing to learn just about anything that I can find a use for if someone knows a site that has information on it (:
-
ok you don't have to learn asm to do 3D programming. in fact it probably isn't even recommend (for time purposes and simplicity). what is your primary language? c? c++? well, either way you are going to have to be very familiar with the language of your choice. it would probably be helpful if you had some prior knowledge with using an API too. more specifically the API you plan on using for your 3D engine. also, have you ever created any sort of game engine before? if not you should start off a little bit easier than creating a 3D engine. another thing is that the complexity of a 3D engine is amazing. strong math skills are required (trig).
i've never programmed anything 3D, but i do understand the difficulty level of it. and that's why i'm not doing yet. you must understand that it's going to be really hard.
well, here is a site that will help you out a ton!!!!!!!!!
gamedev.net
and just to let you know, you should probably use either opengl or directx for creating the 3D engine. opengl only offers graphical functions, but you can pick up other libraries for the sound, user input, etc... however, opengl offers greater portability than directx. not to mention that it is appearantly easier to learn. directx is windows specific and is probably the hardest to learn.
-
Want something impressive? Just write your own software render. Don't use any API like DirectX or OpenGL. Just use Win32 and a math library you write. That way you can set up all your own projection matrices and viewports, camera etc all on your own! Now to me, this is far more impressive than someone writing a "me-too" DirectX 3D engine.
-
reply to above messages
I know the math quite well, I've been doing trig since I was in 6th grade, so :P on the idea of doing something else instead (: I've also coded a very simple 3D engine in Visual Basic, but the math is far too slow and the language too clunky to do anything serious with it, so I'm going to C++. Don't worry about my math skills, I've read hundreds of pages on this and my math is really strong. All I need is a way to put the graphics on the screen, preferably without a huge download to accomplish it. I noticed that the DirectX 8.1 SDK is over 100 megs, which puts it well out of what I can download on a dialup. I would love to just write directly to video memory, especially if I can do it without ASM. I don't want anything doing the math for me, I just want to be able to display my pretty pictures on my monitor, and I want to be able to do it quickly. I've seen some stuff on writing to the video memory, but all of it was in Mode 13h, so if someone would like to direct me to a site that would tell me how to do it in a non-obsolete way, that would be excellent. Until then, some people are made to code Notepad and Solitaire, others are made for 3D. When I am finished, I'll put up a link proving that I can do the latter of the two...
AIM: afrikanswallow
EMAIL: [email protected]
"Hear and remember, see and understand"
-
opengl.... speed, portability, ease..
-
Look into Simple DirectMedia Layer. It's a much smaller library than DirectX (and simpler to use) but it should provide you with what you need. It allows for easy access to video memory so you can write whatever you want on top of it.
-
>> opengl.... speed, portability, ease..
actually, on crappy videocards openGL is the slowest thing ive ever seen