What can you make?

I use OGL in my spare time coding, I prefer his simplier structure and I really don’t have that bandwidth to get all the new D3D versions. I have nothing against D3D, and sometimes I whould like some more “automation” (or better, hidden procs calls) like D3D.
The funny thing is that I do 3d graphics programming (CAD/CAM) at work, of course we sell Win only software, and what API we are using ??
OpenGL ! Whant to know why ? Because most of big factories still prefer to keep a stable system, more than a very new hardware, so LOT of them are still using NT machines.
At the end I must greet Micrososft for making me not to use DX.
That’s funny…

I bet noone ever told that to uncle Bill ;D

rIO.sK

Mmm, that’s a lot of reorganising. Did you not, at some point, consider centralising and abstracting your texture handling/drawing/shading etc.? This would ensure any rewriting is kept to a minimum. Obviously if you’re going to litter your code with dx4 function calls, it’s going to be a nightmare when the api changes…
Have you looked at the quake2 source code? It would be quite straightforward to convert it to use d3d rather than opengl.
Then there’s 3ds max…it can run using 3 different api’s - software, opengl and direct3d. Then there’s my own software - it would be no trouble to add a Glide context to it.
Your negative experiences with direct3d are just a result of poor design decisions from the start. That sounds like I’m passing the buck, but it’s just from my own experiences, sorry.

i hate to depend on any particular API. So i designed my own abstaction layer in my rendering system.
I was supporting Glide,GDI(wireframe only for debugging), Direct3D, OpenGL and my own softwarerendering.(all of this API-drivers are in a separate dll)
I’m using this system since 5 years, and every feature that i added to my openGL “driver”, i also added to my d3d “driver”. So i had a really good chance to comapare the api’s with each other…

I’ve got 2 things to say about this OGL-D3D war:

The computer is a moron.

&

Use the force.

Yoda has spoken.

Okay, I am not going to try to end this war, I doubt it would convince anyone, but I have to say something. No matter how you fight it, your still comparing apples to oranges. It is both a matter of preference and a matter of economics as stated. If you are programming multi-platform, you either learn multiple ways of doing it, or run opengl and complain about the extensions, or accept them. If you are running stictly windows, sure direct3d is faster, gets updates out more often and guess what? It is not designed by commitee, so if it could NOT stay ahead of OpenGL, I would be surprised. Direct3D was designed, if my memory serves me right, to try to pull game designers off of bypassing windows and USE the windows interfaces. They preferred bypassing at that time (prior to DirectX 1.0)because of the speed gain. So direct3D had to be fast, it was part of a superset DirectX which provided full multimedia for games. Power, flexibility and NO CROSSPLATFORM for a good reason, Microsoft doesn’t want someone writing for a Mac, or especially the evil child of Unix being Linux. They want everything Windows, so they don’t want crossplatform compatibility. If you want speed, for windows and windows only, sure go Direct3D. I do both, Direct3D for fun (ugh), and OpenGL for a living – because it IS cross platform. I work in a lot of environments (some even air conditioned hehehe), so I need OpenGL it’s a lot better than keeping multiple code sets. I have platform specific functions AND a core set that is strictly OpenGL, it works and the reusable code portion in cross platform environments is about 95% which for my job is far more economical than having multiple code sets.

Now can we end this? they both really are good for their intended purpose.

Roger, over and out.

> Now can we end this? they both really are good for their intended purpose.

sure. no problem. use whatever you want for whatever you want… (even opengl for vioce chat systems )
as i said before, i don’t expect from anyone to agree with my opinion.

conspricy time.
u know gamasutra have had various comparison articles over the years eg one comparing various physics api’s a while ago, there was also to be one comparing the speed of d3d vs opengl with i quote ‘surprising results’ what happened to it?

Well, Nvidia U has a portion of the time for using GPU’s for non graphics uses… maybe they will cover it.

How about unplug the speakers, turn the volume WAAAAY up, cyclicly adjust system activity that creates noise to the nearby speaker and there you have it. grin No different than me doing speech on the old speaker on an Apple II+. Oops showing my age again…

Naw, never have believed in conspiracies… to hard to keep secrets… now payoffs I believe in.

Actually, I doubt the results would suprise me. Sometimes simplicity pays off and OpenGL gains, sometimes Direct3D wins. As more and of the work is done strictly on the GPU and the CPU overhead becomes negligeable with faster processors, the two will grow together in comparison. shrug I try not to take sides too often. I use OpenGL out of necessity, and study Direct3D to keep up with the general 3D biz.

>> conspricy time.
u know gamasutra have had various comparison articles over the years eg one comparing various physics api’s a while ago, there was also to be one comparing the speed of d3d vs opengl with i quote ‘surprising results’ what happened to it?

One last word then you can badmouth me for the rest of the day.

I am a firm believer in occasional misuse, I test code for other uses occasionally and sometimes find a fit. After all, if the Wright Brothers waited for the first aircraft part store to open before building an airplane… we’d still be grounded.

What was airplane fuel before there were airplanes? auto fuel. We’ve just improved on the product since then.

have fun one and all! on either side of the 3D fence. (or fences if you open up vendor issues)

>> sure. no problem. use whatever you want for whatever you want… (even opengl for vioce chat systems )

Conspiracy theories are usually believed by people who want to believe in them. You’re not doing much for the image of the average opengl user!

Knack,

do you like D3D better because of GL’s vendor specific extensions issue or is it the multimonitor issue?

Personally, I think that verifying if a feature is present is inescapable. Im not just talking about graphics here. You need to check if MMX is present, if SSE is present, 3DNow!, perhaps joystick, and other peices of hardware. The PC business is very dynamic, but I dont need to tell anybody that.
When it comes to 3D graphics APIs, you will always want to know if a feature is present, and more importantly if it runs fast. Any graphics API will have this version problem.

PS: I too dont like the vendor specific business and asked that IP be shared between vendors in the suggestions forum.

V-man

I’ve nothing against checking if features are available - it’s having to implement a feature in lots of different ways depending on the make of graphics card that makes opengl less elegant than direct3d. That’s the only point I’m making, and the majority seem to agree, so I’m happy to have got it off my chest.

>>- it’s having to implement a feature in lots of different ways depending on the make of graphics card that makes opengl less elegant than direct3d<<

define lots? as in an actual solid example
i have difficulty in seeing the difference between opengl + d3d, with d3d to see if a feature is supported u check capsbits with opengl u check the extension string (or gl version number).
i was gonna mention something (that ppl dont seem to mention) along the lines, with opengl the driver has to emulate something in the spec if the card cant do it in software (which for certain things ppl find unacceptable eg software stencil testing but anyways) with d3d u dont have the software emulation in the drivers. the feature will be ignored thus in these core cases opengl requires less paths than d3d.
example case
dot3 (useful for bumpmapping) in ANY (this is a key word) card that has opengl1.3 drivers if u ask for dot3 u will get dot3 with d3d8.1 with the same card if u ask for dot3 with the latest + gratest drivers u wont get dot3 IF the card doesnt support it (ie capsbits) ( u will get it if u ask for the reference drivers ie 100% software implementation by ms ) but this is very different this is asking for 100% software d3d implementation

btw im serious about the ‘lots’, ie put up or shut up - cause if have a feeling by lots u mean 3 vs 2 (for d3d)

Gorg i think u bet on france

Originally posted by zed:
Gorg i think u bet on france

We are not out… yet…

Like they say in my country: “You’re making a storm out of a glass of water.” (sort off, not very good translating).

Either way, you’re comparing two diferent things. OpenGL is a graphics API. D3D is a WPI (windows program interface). Besides, why is it good to have a commom interface to everything in D3D? Why should we do things the way Microsoft wants to?! If they implement it slow, it will remain slow! An API isn’t that. A WPI may be.

And why didn’t they make D3D cross-platform? What are they affraid of? Why, oh why?!

And finally, did I heard someone said that D3D is faster than GL?! HAHAHAHAHAHAHAH Don’t worry, everyone makes mistakes. They’re exacly as fast. One isn’t faster than the other.

Originally posted by KRONOS:
And finally, did I heard someone said that D3D is faster than GL?! HAHAHAHAHAHAHAH Don’t worry, everyone makes mistakes. They’re exacly as fast. One isn’t faster than the other.

In theory you are right. In practice, I think just about every company except nvidia has considerably better D3D drivers than they do OpenGL drivers.

The rest of this debate I dont even want to touch with a 10 foot pole.

Jesus wept. You’re like a pack of hounds. Why are you so emotionally attached to opengl?
I don’t care which is faster, I care about having to worry about the implementation details of a specific piece of hardware.

Zed, it’s a lot simpler to list the up-to-date functionality of opengl that isn’t vendor specific - GL_ARB_texture_env_dot3.

BTW, England have done us proud!

[This message has been edited by knackered (edited 06-07-2002).]

In the world of Graphics Time = Money. I find that the setup for OpenGL is SOOOO much faster, even if you have to check for extensions. I mean in opengl, if you want to draw frikin triangle you define 3 points and draw the thing. In D3D, after 3 days of coding SETUP code, you finaly get the same results. Also with every update of D3D, you have to update your code, (alot). Thats why D3D is such a pain, its always changing. OpenGL got it right the first time, as you can see by OpenGL only being on version less than 2, and directx being on version (what is it now 8.1??) Yes I also understand DirectX has more bells and wistles, like sound input, etc. But ONLY WINDOWS CAN RUN IT. I use OpenGL, GLUT, OpenAL, Devil. And ya know what. They ALL have the SAME syntax, setup, and ease of use. And they all run on EVERYthing. Now I admit, the end result may be EXACTLY the same, (minus platform compatablity) but i just find OpenGL more intuitive, and easy to use. I could be wrong. But dont take my word for it, just ask microsoft, hell they couldnt even get DirectX to work with some of there OWN OS’s. Now that is what I call an OBVIOUS flaw.