Hard Light Productions Forums
Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: blackhole on June 10, 2007, 02:23:36 am
-
I've always loved shader programming and i picked up (in the thread discussing the new features) that you guys were working on normalmapping and shaders. i can't say i'm an expert in the field (and my experience is limited to HLSL, not GLSL), but i would certainly be interested in assisting the development of shaders, or anything else thats needed in general (such as optimization). It would also be an oppurtunity for me to extend my knowledge of shaders and perhaps a bit of assembly.
I would have picked up a copy of the CVS except the site seems to be down - i'll pick one up later, unless someone can shoot me the CVS information (i use tortoiseCVS).
Not sure if you need it, but i use Vista, so if you need any testing for compatability on vista i can also do that.
EDIT: Again based on that thread, i'm very interested in DX10 and have done extensive experimentation with it - i might be able to put in DX10 support. Too bad its completely useless :p
-
Examples of work:
(http://img407.imageshack.us/img407/1710/hdrthingcl2.th.png) (http://img407.imageshack.us/img407/1710/hdrthingcl2.png)
Extremely simple (and fast), one-pass fake HDR shader, that pretty much just exagerates bright areas. I've been working on a real HDR shader but haven't gotten very far yet.
TAGE: TileAble Graphics Engine (http://tage.sourceforge.net)
Unfortunatly the only useful thing i've made so far. Not that impressive, until you see it rendering 1000 128x128 images at 300 FPS. Contains my best optimizations.
I have developed a system for the easy and efficient access of DLLs. Its a bit outdated but i think it'd be excellent for a plugin engine after i tweak it.
I also have extensive experience wrapping unmanaged C++ in managed C++ for use in managed languages, and some experience in both LUA and Python.
I suppose its also worth mentioning that i love learning new stuff and could probably do research on an area of coding i'm not familiar with in order to provide needed help. Other than that i have sadly not developed many other key skill areas, and my math skills, while good for my grade, are not sufficient for complex 3D manipulations (Intermediate Algebra just doesn't cut it). Despite this i hope i can be of some help. Somewhere. Somehow. Maybe. :nervous:
-
(i use tortoiseCVS).
Perfect.
http://www.hard-light.net/forums/index.php/topic,41234.msg842224.html#msg842224
-
il probibly write my own shaders, it doesnt look to be too much of a big deal. but anyway untill the support is actually in the engine im probibly not gonna bother. i posted a thread awhile back about shader dev utils and whatnot. might be intresting if you can find it. i forget what it was called.
-
I use RenderMonkey from ATI, despite the fact that i have an nVidia card. I just don't like nVidia's shader dev. Let me try and get this distortion shader working just to prove i'm not useless :P
EDIT: Karajorma: I successfully grabbed the code under revision 3.6.9 :nod:
-
Finally, a quick 'n dirty distortion shader that does what i want:
(http://img364.imageshack.us/img364/9834/distortionthingdy6.th.png) (http://img364.imageshack.us/img364/9834/distortionthingdy6.png)
This uses a texture (greyscale) to distort the render. The render is distorted around the bright areas. In this case, i applied a simply radial gradiant texture. The amount of distortion can be tweaked. Just imagine this on a beam cannon! ;7
-
i dont think the nvidia plugin even works for glsl. so rendermonkey is pretty much the way to go.
-
Finally, a quick 'n dirty distortion shader that does what i want:
(http://img364.imageshack.us/img364/9834/distortionthingdy6.th.png) (http://img364.imageshack.us/img364/9834/distortionthingdy6.png)
This uses a texture (greyscale) to distort the render. The render is distorted around the bright areas. In this case, i applied a simply radial gradiant texture. The amount of distortion can be tweaked. Just imagine this on a beam cannon! ;7
Yikes! :jaw:
Should you get something like this in-game, we could have singularity weapons and such... :wakka:
And yes, I'd even have an idea what to use it for... :drevil:
-
I'd love to get it in game, but the dev's are still working on the shader engine and in the mean time i need to learn GLSL so i can implement it in openGL, because the peeps here appear to like that more.
-
i''d use that distortion for subspace jumps. seriously, you're ripping space open, there's gotta be some funky distortion. i dont think blue ripply light really covers it.
-
Beam weapons could be spiffed up big time with this too. As well as large bombs.
-
Stunning what you can do with a simple distortion shader :D By using a wavey distort texture, you could have the texture scroll and give engines a bit of distortion as well. There are so many applications!
I've ported the effect over to openGL, after making some improvements. I found that saturate() resulted in a distortion thats far more faithful to the distortion picture, but the distortion effect achieved without using saturation looks good too, so i decided to keep saturation out of it. Besides, i can't do this with saturation:
(http://img460.imageshack.us/img460/13/distortionthing2dj7.th.png) (http://img460.imageshack.us/img460/13/distortionthing2dj7.png)
Apparently with openGL the rendertarget needs to stay as a 512x512... but that doesn't really pertain to my shader, so i'm not going to worry about it.
-
i hope when the coders are writing the shader engine that they interface it wit the scripting system. as i understand it shader based rtt is very fast. so id like to be able to set a render target to feed data into any shader i write. for the usual panel gages and whatnot.
-
I think just being able to apply a shader to any texture (or the entire screen) would suffice.
-
i hope when the coders are writing the shader engine that they interface it wit the scripting system. as i understand it shader based rtt is very fast. so id like to be able to set a render target to feed data into any shader i write. for the usual panel gages and whatnot.
:eek2:
I just realized that with OpenGL display lists, I could basically make it possible for you to draw things with scripting with comparable (or better) speed than just the raw commands in C/C++. So hypothetically you could have the power of lowlevel OpenGL code, but still be able to draw objects without massive slowdown.
The only drawback: besides most of the FS2Open code not making use of lowlevel OGL (Although implementing some kind of fs2_open display lists for such a purpose sounds useful), you'd only be able to set things up to draw the same way every frame. IIRC you could translate and rotate them.
Anyway, I had not even thought about that. You're a genius.
-
and i was drunk when i posted that :rolleyes: :D
-
yay he's realised what I've meant by 'materials system' for the last four years!
:)
-
yay he's realised what I've meant by 'materials system' for the last four years!
:)
No, it's not. :)
The only reason I know about display lists is because I had to look them up in order to implement the functions you were asking for, but the API functions you had me implement were not geared towards this. We also didn't have any scripting support four years ago. Nor did you ever talk about being able to setting up custom model rendering via the materials system (without any POF geometry), or providing raw access to OpenGL functions such as glVertex3f() through scripting.
Though since it looks like we're going back to adding support for D3D, it loses a lot. (This idea, not the materials system)
-
Whats so bad about D3D?
-
D3D doesn't have the support for display lists that OpenGL has. If I could assume that OpenGL would be the only API present, all I would need to do would be to have one scripting function that's the equivalent of glNewList(), and the rest of the functions would automatically go into that list. With D3D, I'd then have to implement a check for which API is running. Then I'd have to do a custom implementation of display lists for D3D, which would handle caching arguments and functions in the order with which they were called. It also wouldn't benefit from the same optimizations than an OpenGL display list could benefit from; and it'd be slower than calling the commands from the code internally.
Direct3D's equivalent is render states. But IIRC, that mostly deals with setting things up to render an object, rather than actually rendering the object. Bobb was going to use render states for the materials system and some of the OpenGL display list functionality in its OpenGL implementation.
OpenGL display lists (http://www.lighthouse3d.com/opengl/displaylists/)
A list of D3D render states (http://www.toymaker.info/Games/html/render_states.html#others)
EDIT: And as for why that makes it a problem to implement things (besides the extra work) it means that the same scripting would run at different speeds depending on which API was used, and I'd already be abstracting things to provide the same functionality of both APIs...which is exactly what the Freespace 2 graphics API already does.
-
Hmmm. Well i'd go ahead and just make the openGL only, at least for now. There's got to be a way of doing it with D3D, but it would be better to wait until the D3D API doesn't suck and i've had a chance to implement a bunch of features for it.
That said, we're going to continue having D3D support? Does that mean i'm the SCP directX coder? ;7 :lol:
-
I was being optimistic about you completing the code and being able to maintain it...I did not mean to imply that a permanent decision had been made by anyone.
-
awwwwwww :sigh:
Oh well, i'll just have to keep on chugging. ;)
-
d3d is why i cant play 50% of the games that i bought. howd you ever convince taylor to let you guys put it back in? it seems like more of a hassel that its worth. all the games that use open libratys seem to still work, the ones that use proprietary libs, dont. you think the game industry would have learned by now.
-
d3d is why i cant play 50% of the games that i bought. howd you ever convince taylor to let you guys put it back in?
It's not back in yet. :)
I had said in earlier dev discussions about this same thing, that if we don't get someone dedicated to keeping D3D up-to-date, the code needed to be removed. It's still going to remain disabled for a while yet, but if someone works on it then it could be enabled again. The rub is that nothing regarding D3D is acceptable if it messes with OpenGL in any way. Since FSO is not a full blown cross-platform game engine, anything that doesn't further the goal of cross-platform use will get minimal consideration at best. OpenGL is the primary graphics API in FSO from now on, so it has to always work, without exception.
The D3D code needs a lot of work before it's re-enabled, so you really won't have to deal with it for a while still. And there is still the possibility that I'll eventually convince the others to drop multi-API support completely for graphics, get rid of a lot of middle layers, and finally take full advantage of OpenGL. But I agreed to not broach that subject seriously until next year, if D3D wasn't up to 100% again by that time.
I wouldn't worry about it much either way though. I've got so much planned for making the OpenGL stuff better that it's not even funny. Performance and compatibility are going to expand considerably by the end of the year, just as features will. Plus, I've got a few nice surprises in store for everyone with 3.6.10. ;)
-
Well come on, will you guys make up your mind? Do you want DirectX or not? I'm willing to work on it and make it work, but not if it might end up getting taken out anyway because you don't want 2 APIs. I think my time would be better spent writing up GLSL shaders, or heck, learning openGL and helping you there.
I've shown that i can at least get basic functionality but if there are people who don't want DirectX regardless of how well it works... Um....... Yeah.... :nervous:
-
Well let's cut right to the core of the matter, then: What benefit does having DirectX in addition to OpenGL have?
I haven't heard anyone definitively answer this question yet.
-
I'm going to tell you straight out that OpenGL and directX are almost equal. OpenGL is cross platform, but directX does have some advantages over it in other areas. I feel they are equal.
But in perfect honesty, Drop DX.
I'm serious, just drop directX. Freespace 2 isn't made for directX, and i can see that its goals are cut out for openGL. So take it from me, just drop directX. Its not worth it. The fact that you want to be cross-platform... just drop the whole stinkin API for directX. You will not suffer from it. And you have everything to gain, because its obvious that you have an openGL genious here. Take advantage of him.
-
well the advantages are basically, DX runs better on some hardware, and it's nice to have an alternative API available.
not that I'm trying to justify keeping DX.
I know I'm basically on hiatus until everyone else makes up there minds about this and implements something based on this determination.
-
Yes, those are the advantages to DX. But then you have to compare that to the advantages of openGL. Its cross-platform and your main programmer is an openGL guru.
Drawing on my very limited project managing experience, if this is hindering the project, KILL IT! DirectX is OBVIOUSLY hindering this project, big time. KILL IT!
-
I have no problem with FSO having D3D support, so long as it's supported. And it hasn't actually been supported in years. But it's never going to be considered the primary graphics API again, so it can't get any sort of preferential treatment like it sometimes has in the past. If someone wants to work on it, and seriously support it, then we'll keep it. If it's just a passing thing, then we won't. I'm indifferent either way really, since I don't use Windows and therefore have absolutely no use for the D3D code. The only time that I have a problem with D3D support in the engine is when no one is willing to spend the required time to maintain it, sort out all of the bugs in it, and when code changes are made which are more beneficial to D3D than OpenGL (ie, it wouldn't be the best way to do it in OpenGL, which then can hurt performance).
I'm certainly no OpenGL guru though, there simply isn't anyone else to do it. Someone had to step up and do the work, and I simply got tired of waiting for somebody else to do it. If OpenGL breaks then I can't play the game any longer, so there is a real incentive for me to help keep it working in top form.
If you want to support D3D, blackhole, then feel free. But just do it seriously, since your interest in it would be the only thing preventing us from completely removing the code. If you don't have the time or energy to really support it, and eventually just vanish, then we will be right back where we are now, for the 3rd or 4th time. I, personally, refuse to go through all of this yet again, so if you don't want to take on the responsibility then please say so now.
And for the record, DX9 support was do 2 years ago, but the guy never put the code in CVS, and then vanished. The DX9 SDK had already been added to CVS, and the Launcher had already been modified to handle DX9, but the game code never materialized. Since then, no serious work has been done on the D3D code. The stagnant D3D code has since held up the OpenGL code, since without anyone to keep the D3D code working the changes to OpenGL had to be regulated to prevent code breaks. My Xt builds no longer support D3D, and in the past couple of months more advances and progress have been made in the OpenGL code than all of last year. So much progress in fact, that I've had to put a serious halt on the changes so that I don't get the code too far ahead of what 3.6.10 is supposed to be. :)
-
I don't personally feel that i could maintain support for directX9 for an extended period of time. Over this summer, maybe, but by the start of the next school year i'd be far too busy to do anything.
-
Hmm, I'm not a programmer, so this may be absolute bunk, but, what if blackhole implements DX9, in a modular <-is this the right term? fashion, so that if no one keeps it up, that part of the code can be easily removed. Then, in the future, if someone fixes it again (maybe next summer when blackhole comes back with gobs of time on his hands :lol: ), it can be plugged right back in? IDK.
-
Hmm, I'm not a programmer, so this may be absolute bunk, but, what if blackhole implements DX9, in a modular <-is this the right term? fashion, so that if no one keeps it up, that part of the code can be easily removed. Then, in the future, if someone fixes it again (maybe next summer when blackhole comes back with gobs of time on his hands :lol: ), it can be plugged right back in? IDK.
That might be very hard to do but, I don't know anything about graphics or FSO code, so it might work.
-
That would be simple if everything was object oriented *cough* but it isn't, so its actually very very difficult to do. The advantage that taylor is pointing out is that he can annihilate the entire middle-area that mediates between the two APIs, allowing for faster and more direct control. That would make it essentially impossible to have directX as an optional API.
-
Hmm, I'm not a programmer, so this may be absolute bunk, but, what if blackhole implements DX9, in a modular <-is this the right term? fashion, so that if no one keeps it up, that part of the code can be easily removed. Then, in the future, if someone fixes it again (maybe next summer when blackhole comes back with gobs of time on his hands :lol: ), it can be plugged right back in? IDK.
The D3D code is already #ifdef'd, so it's easy to compile out (required for cross-platform support anyway). But that doesn't really solve the problem, since even if it were fixed now, it would just break again in a couple of months. That's the problem with fixing it, the code just isn't going to stay working, and we will once again be in the same position of being forced to disable the code. Simply fixing it now will do little more than waste the time of everyone involved which makes the prospect of D3D support entirely futile.
If no one is going to be able to constantly maintain the code, then we will have little choice but to rip it out.
We've tried the "just keep it working" approach for nearly two years now, and it's caused a drastic slowdown in new features. I mean, general shader support was added for OpenGL a year ago by wolf, but it causes serious problems with D3D support and so it has been put on hold ever since as I have tried to work out all of the various issues. Making generic rendering significantly faster, even giving a massive speed boost to non-HTL mode, is easily possible for OpenGL, if we didn't have to keep D3D working in the process. That's really what my Xt builds have been about, but even they have progressed further and faster than I had planned, since I am temporarily holding features back simply for the sake of 3.6.10.
Many people seem to want D3D support, but no one is willing to make the sacrifices needed to keep it all working, like I had to do with OpenGL support. So we just keep running around in circles, with us keeping the current D3D code in place in case someone decides to work on it, and all the while it's getting more and more unusable. By the end of the year it will need almost a complete rewrite in order to be compatible with the OpenGL changes.
-
Many people seem to want D3D support, but no one is willing to make the sacrifices needed to keep it all working, like I had to do with OpenGL support. So we just keep running around in circles, with us keeping the current D3D code in place in case someone decides to work on it, and all the while it's getting more and more unusable. By the end of the year it will need almost a complete rewrite in order to be compatible with the OpenGL changes.
How do big commercial projects like Doom 3 or Unreal Tournament 2004 (2007?) do it? Do they use D3D for Windows (DX10 left beside now of course ...) and OpenGL for the rest?
Why do those people want D3D anyway? What advantage does it have?
Many games using D3D run with wine get translated to OpenGL calls just fine and on the same speed as their windows counterparts ... So it can't be a performance issue ...
Then I seriously do not understand what advantage D3D has ...
cu
Fabian
-
How do big commercial projects like Doom 3 or Unreal Tournament 2004 (2007?) do it? Do they use D3D for Windows (DX10 left beside now of course ...) and OpenGL for the rest?
Why do those people want D3D anyway? What advantage does it have?
Many games using D3D run with wine get translated to OpenGL calls just fine and on the same speed as their windows counterparts ... So it can't be a performance issue ...
Then I seriously do not understand what advantage D3D has ...
cu
Fabian
hi,
the problem was the OpenGL committee, as far i had hear it in the forums, if people discuss about the situation over OpenGL.
Microsoft blocked over many years the work in it, slow it really down and tried many Years that OpenGL and Direct3D melt together.
so there was a lot of work that doesnt done and OpenGL doesnt have Support out of the Box so many feature like Direct 3D.
after the left of Microsoft the committee, now its going on and the most people hope, that OpenGL will catch up what it miss.
the next thing is, that writing the code/functions with Direct 3D is easier compared with OpenGL, but im not a programmer and i cant say it excatly.
the other thing is, the most people have Windows as OS, they buy complett PC in a shop and doesnt intereset in PC Hardware and Software.
i think the most people on the planet doesnt know what DirectX eactly is, only that is cool and needed, more not.
i know the problem with Direct 3D 10.
many people had think that Direct 3D 10 = DirectX 10 is.
so you have an API that have a good and contemporary featureset, that often neat, that is installed on all PC that of your customers and that is, maybe, easier to write the code and features.
the only thing that i see for FSO is, that maybe i the future, if OpenGL doesnt have a revial, the manufacturer of graficcards maybe someday will drop thiere support for OpenGL in the driver for gamecards.
today the OpenGL driver of AMD/ATI doesnt so good and cause a lot problems and nvidia is in the moment under vista not so good too, if the reports are correct that i read.
i hope thats understandable, i try my best to write it in english *g*.
Mehrpack
-
Actually Nvidia fixed their openGL problem.
-
well i for one refuse to buy a vid card without opengl support. and if open gl ever becomes obsolete, it had best have another open api right behind it. i have never had a single problem with open gl, ever.
How do big commercial projects like Doom 3 or Unreal Tournament 2004 (2007?) do it? Do they use D3D for Windows (DX10 left beside now of course ...) and OpenGL for the rest?
they write really strong abstraction layers and insert hardware specific optimizations anywhere possible. often they can forgo device drivers and the apis all together with really low level code written in assembly for such operations. or at least thats what i read. killing a single multiply in a function called hundreds of times a frame can have a signifficant impact on performance.
-
Microsoft blocked over many years the work in it, slow it really down and tried many Years that OpenGL and Direct3D melt together.
so there was a lot of work that doesnt done and OpenGL doesnt have Support out of the Box so many feature like Direct 3D.
after the left of Microsoft the committee, now its going on and the most people hope, that OpenGL will catch up what it miss.
Ah, so M$ tried to assimilate OGL, and stalled them until they got behind, then left? Sounds like M$ to me... How many people are aware the Windows v. 1.0 didn't actually work, and was released as a demo only to keep ppl from going with one of 2 other OSes in development?
-
well take a look at all the other gui based oses at the time. mac os and risc os, both of which predate windows and have just as much if not better functionality as 3.1. microsoft had to spend some time sucking dicks at ibm to gain the capitol nessisary to become the evil empire they are today. it could have happened to anybody. so i dont much give microsoft much credit for creating the revolution or bringing computers to the masses. the revolution was full on and i dont think anyone coulda stopped it, and mac os is far superior in terms of ease of use, better suited for said masses. microsoft was just greedy enough to suck up all the profits with a less than fair buisness model. as they say, **** floats.
-
Actually OpenGL is nowhere in danger of "extinction" perse, it's merly not in such a dominant alpha male position in gaming as Direct3D is.
Leave gaming (scientific, opensource, industrial ect. community) and the situation is reversed - or in that area OpenGL could be thought of the the sole contender.
-
How could OGL even die? Unless everything else but Windows goes extinct...
-
if apple would sell operating systems rather than computers, they would be killing microsoft. but i guess theyre too happy selling ipods.
-
hi,
i dont think that openGL will die, but i think its possible that in for gaming will in the next years die, but i do not hope it.
if we will one day break the monopoly of microsoft we need another APIs for games they are open to many systems like OpenGL.
but in the moment the last great game engine they used OpenGL on windows is the doom3 engine, imho, and as far i can me remember john carmack, the boss and chief developer of id, said that he will use in his next engine D3D.
so maybe in some years thier's no great commerical games/engines that use OpenGL and the driver support of Nvidia and ATI is aligned to the great games and engines.
so i see there the problem, i think its possible that under windows the support for driver for games that use OpenGL will drop in some years, maybe.
in the professionell software area not, only games, but Nvidia and ATI have for thier graficcards seperated series with seperated drivers.
but i think in the moment hold the old D3D code FSO to much on and i think to its the right decision to disable D3D in the next build.
but imho we should think about another solution and dont forget D3D completly.
maybe an wrapper in FSO is a good idea, that translate the OpenGL instructions of the engine to D3D instruchtions.
i dont know how complex so wrapper for so a problem is, but maybe its eaiser to update and fixed as a completly second API with own functions in the engine.
Mehrpack
-
the boss and chief developer of id, said that he will use in his next engine D3D.
Well, thare are already some pictures of it... on a Mac. So it just be OpenGL again.
EA also seems to be pretty interested in the Mac OS market. I guess we'll see more OpenGL games from now on.
OpenGL also allows you to use SM 4.0 on Windows XP systems.
I don't think there will be a lot of OpenGL games from now on, but I guess there will be at leat some more.
-
Well, thare are already some pictures of it... on a Mac. So it just be OpenGL again.
EA also seems to be pretty interested in the Mac OS market. I guess we'll see more OpenGL games from now on.
OpenGL also allows you to use SM 4.0 on Windows XP systems.
I don't think there will be a lot of OpenGL games from now on, but I guess there will be at leat some more.
hi,
yeah your right, i forgat that, that the demo run on a mac.
but that doesnt mean that its an nativ OpenGL game.
that do me now a little bit confused, because this accountment of carmack.
maybe he chance his minds, i hope so, but im finaly not sure and if he will use both API in his next engine then maybe only ID games.
its possible that other games, which use the engine, only use D3D and disable OpenGL.
i hope not, but sadly its possible.
yep i know thats OpenGL alow to use SM 4.0 hardware features over the vendor caps under WinXP, the question is: will use the developer that?
im not so really sure, because it need time to programm the new features in the engine and the vendor caps not so liked by the developer.
a SM 2.0/3.0 fallback, i think, is for the most developer enough, because the most engines today had implant a SM 2.0/3.0 renderer.
i hope so that we will see more games they support OpenGL and bringt 4.0 effects to WinXP but i cant believed it really.
to EA: they has in the past often port thier games to Mac, the total "The Sims" serie is available for Mac, but under Windows still only D3D available.
so i dont think that EA do make thier new games so that you can choise D3D or OpenGL under windows.
i dont will paint the devil on the wall and maybe i see it a little bit to dark, but i think thats a realistic point of view on the situtation momentarily.
Mehrpack
-
if apple would sell operating systems rather than computers, they would be killing microsoft. but i guess theyre too happy selling ipods.
Well, let's not forget that IIRC, you have to be Mac - approved to even write programs for their computers, and also, that it is illegal to run Mac OS on a non-Mac computer, or another OS on a Mac computer. Again, this is IIRC. So if Mac had taken Windows' role, we'd probably be worse off, right?
-
'sall perspective.
-
or another OS on a Mac computer. Again, this is IIRC.
I don't know if it once WAS like this, but now, Apple itself offers "bootcamp" for Intel-Macs. And Bootcamp allows you to install and boot WindowsXP+Vista (IIRC, too ;) ) on the Mac. It contains the Mac-Drivers and some other stuff...
For the whole OpenGL-Topic:
Isn't blizzard offering OpenGL even in Windows? At last WarCraft 3 had a command-line-switch that enabled the OpenGL-Renderer. And I think that I read something like this about WoW... But I might be wrong here...
Oh... And the Unreal-Series at least DID have OpenGL-Support. But I don't know if UT 3 will have it.
AND nVidia itself is using OpenGL for most of it's Tech-Demos. AFAIK, only ONE Demo is using Direct3D right now.
Direct3D is the most used API for games (IMHO unfortunately ;) ...well... at least for DirectX10) and I think that it will stay like this, but I don't think that OpenGL won't be used anymore.
Oh yeah... And don't forget that most of the Modelling-Programs (Blender, TrueSpace, 3DStudio etc.) are using OpenGL!
I think that OpenGL is still "strong enough" that it will still getting driver-support from nVidia and ATI ;)
-
How do big commercial projects like Doom 3 or Unreal Tournament 2004 (2007?) do it? Do they use D3D for Windows (DX10 left beside now of course ...) and OpenGL for the rest?
Doom 3 only has OpenGL support. UT has D3D, OpenGL and software renderers.
so there was a lot of work that doesnt done and OpenGL doesnt have Support out of the Box so many feature like Direct 3D.
after the left of Microsoft the committee, now its going on and the most people hope, that OpenGL will catch up what it miss.
OpenGL core may have been stagnant for some time, but all the features were available as extensions. There's no catching up to be done.
the next thing is, that writing the code/functions with Direct 3D is easier compared with OpenGL
Prove it.
the only thing that i see for FSO is, that maybe i the future, if OpenGL doesnt have a revial, the manufacturer of graficcards maybe someday will drop thiere support for OpenGL in the driver for gamecards.
3D is not only for games and not only for windows, so this won't happen.
-
the next thing is, that writing the code/functions with Direct 3D is easier compared with OpenGL
Prove it.
He's 50% right and 50% wrong. Coding openGL is much harder if you started out in directX. Coding directX is much harder if you started out in openGL. The reason this is significant is that by "much harder" i really mean "much harder." openGL takes a completely different approach on how to handle things that directX does (directX is more object oriented).
-
I like the disortion effect, Mabye its more nice if we could get an actual in game picture ;) . Reminds me of the "Heat" disortion effect in Empire at War...
On the discussion of OpenGL or direct3d.
This is Freespace OPEN-Source
OpenGL is AFAIK also OPEN-source.
-
I've made both an HLSL and a GLSL version of the shader. As soon as the SCP team puts in a shader system i can implement it.
-
Doom 3 only has OpenGL support. UT has D3D, OpenGL and software renderers.
hi,
how old is UT? very old, based on the first Unreal engine and they had support for 3DFx too, imho they was released around 1999.
OpenGL core may have been stagnant for some time, but all the features were available as extensions. There's no catching up to be done.
yeah i know, but you have for the most features to programm for 2 or more graficcards, because they have thiere own extensions.
so if you want to full support functions, they are not in the core, thats a lot of work and carmark wasnt really happy about this, as he programm the doom 3 engine.
Prove it.
please qoute me full, and doesnt cut the half off.
i said:
the next thing is, that writing the code/functions with Direct 3D is easier compared with OpenGL, but im not a programmer and i cant say it excatly.
i had heard it of people that its eaiser, they i trust, but im not a programmer and in this things its often more a personal thing, some one like a programming launguge and said its easy, other person hate it and said its crap.
the true is somewhere in the middle.
3D is not only for games and not only for windows, so this won't happen.
again: it know that OpenGL is used in a lot of professionell programms, but i talk here about the support in the driver for cards they used for gaming!
and the driver for gaming is total different to driver they used for the professionells programms like CAD or rendering.
i doesnt said thats OpenGL itsself will die, i only said, thats is possible that, because games maybe will not use in the future OpenGL anymore, that the driver support for gaming cards will drop by the Nvidia, ATI and co.
ATI and Nvidia today often optimize and fixed bugs in theire drivers only for new, great and often used games, with old D3D games you have sometimes many trouble too (try to play today with a ATI driver above 6.8 Gothic2, its will crash), because they dont fix the bugs, why to few people play this old games.
and if there no new games they use OpenGL as API under windows, i think they will someday drop it, lately if windows switch the driver modell again, like of windows XP to Vista.
i dont wish OpenGL the death or something, or that FSO hold on the old D3D implantation.
i will only want to encourage about so a possible problem and to think about possible solutions.
Mehrpack
-
Well, again, i'd be willing to implement DX9, but i'd run out of time and i'd have to stop working on it, and theres not much point in that.
-
hi,
how old is UT? very old, based on the first Unreal engine and they had support for 3DFx too, imho they was released around 1999.
The FIRST UT IS old... But ALL UT-Series had OpenGL! Even UT2004!
i had heard it of people that its eaiser, they i trust
And I heard that OpenGL is easier ;)
, but im not a programmer and in this things its often more a personal thing, some one like a programming launguge and said its easy, other person hate it and said its crap.
the true is somewhere in the middle.
ACK.
again: it know that OpenGL is used in a lot of professionell programms, but i talk here about the support in the driver for cards they used for gaming!
and the driver for gaming is total different to driver they used for the professionells programms like CAD or rendering.
Oh... So gamers don't use Modelling-Programs? So the FSO-People that made the High-Poly Models are all professional CAD-Users or something like this? ;)
Believe me. There are ENOUGH Programs that are relevant for gamers that use OpenGL! And there STILL are enough OpenGL-Games. And, by the way, the Quadro-Drivers are only slightly modified "normal" nVidia-Drivers, AFAIK.
i doesnt said thats OpenGL itsself will die, i only said, thats is possible that, because games maybe will not use in the future OpenGL anymore, that the driver support for gaming cards will drop by the Nvidia, ATI and co.
Well... I can't agree with that... As I said: There are enough programs and games that are using OpenGL. And I think that these WILL be further used/developed in the future.
ATI and Nvidia today often optimize and fixed bugs in theire drivers only for new, great and often used games, with old D3D games you have sometimes many trouble too (try to play today with a ATI driver above 6.8 Gothic2, its will crash), because they dont fix the bugs, why to few people play this old games.
and if there no new games they use OpenGL as API under windows, i think they will someday drop it, lately if windows switch the driver modell again, like of windows XP to Vista.
Again, I can't agree... I don't know if ATI cares about "old games" and OpenGL... But at least nVidia should. And there are ENOUGH gamers that want to play "old" games. Old AND new games. And I don't think that they're only a few people...
i dont wish OpenGL the death or something, or that FSO hold on the old D3D implantation.
i will only want to encourage about so a possible problem and to think about possible solutions.
Well... I don't see this problem. At least not in the "near future".
-
I like the disortion effect, Mabye its more nice if we could get an actual in game picture ;) . Reminds me of the "Heat" disortion effect in Empire at War...
On the discussion of OpenGL or direct3d.
This is Freespace OPEN-Source
OpenGL is AFAIK also OPEN-source.
Not entierly accurate, though it's a common mistake.
Freespace code is open, in the regard that it was released, can be read; parsed; and even used for a limited number of purposes.
It isn't open in the opensource / open software way.
Namely we can't use GPLd stuff.
OpenGL isn't GPLd though.
-
The latest Unreal engine is also supposed to have support for OpenGL as they are supposed to be providing mod tools and a game binaries that run under linux.
Its also supposed to run on the PS3 which I runs OpenGL(Cant remember where I read that though sorry) but Microsoft arent likely to have licensed D3D to them.
-
Again, I can't agree... I don't know if ATI cares about "old games" and OpenGL... But at least nVidia should. And there are ENOUGH gamers that want to play "old" games. Old AND new games. And I don't think that they're only a few people...
The fact is that neither company cares about old games. Driver updates on both sides frequently break stuff in old games and the problems often never get fixed. I can list many examples of this. There actually aren't that many people who play older games on a regular basis. Most of us here do, but this is after all a forum for an older game.
In any case, I don't see OpenGL going anywhere. It will continue to be supported by the GPU companies to at least some degree because it's still dominant outside the Windows gaming scene. The other markets are all much smaller of course, but still significant enough that they can't afford to neglect it completely.
-
Actually MS may have opened the door for OpenGL wider than it's been in a long time. The fact that DX10 only works on Vista basically means that the newest features are not available to users on XP via Direct X.
Right now it's commercial suicide to develop Vista only games and cut out 90% of your userbase. Similarly it's commercial suicide to not have the best graphics hardware will allow. Sticking to DX9 means they can't use shader model 4. Moving to OpenGL would cut out a lot of problems for developers in both respects. Especially since programming for Direct X is one of the major barriers preventing developers milking a successful title by porting it to Mac OS.
Will the companies abandon DX? Doubt it.
Will they start using OGL a bit more in light of what I've just said? Could happen. Depends on if they think of it, if OGL lets them do tricks that look as good as DX10 (or at least better than DX9) and if it's cost effective to do it.
-
Will they start using OGL a bit more in light of what I've just said?
Depends on the other platforms they develop it for.
If it's for the PS3, or maybe the Mac, there will be a DX9 a DX10 and an OpenGL Renderer. I guess some developers might think about switching to OpenGL.
If it's for the Xbox360, I doubt the PC version would get OpenGL support, even if it's also for the PS3.
-
Will they start using OGL a bit more in light of what I've just said? Could happen. Depends on if they think of it, if OGL lets them do tricks that look as good as DX10 (or at least better than DX9) and if it's cost effective to do it.
The primary reason the new DX10 features aren't being used is because no one has the hardware - this carries over to openGL.
-
The FIRST UT IS old... But ALL UT-Series had OpenGL! Even UT2004!
hi,
yeah, right, forget it, sorry.
Oh... So gamers don't use Modelling-Programs? So the FSO-People that made the High-Poly Models are all professional CAD-Users or something like this? ;)
Believe me. There are ENOUGH Programs that are relevant for gamers that use OpenGL! And there STILL are enough OpenGL-Games. And, by the way, the Quadro-Drivers are only slightly modified "normal" nVidia-Drivers, AFAIK.
ok, persuaded.
afaik the quadro and ragefire driver a speratly development with total other focus.
but maybe in the meantime they have chance thier development structor, that information is a little bit old and they are so open about informations how they development thiere driver.
Well... I can't agree with that... As I said: There are enough programs and games that are using OpenGL. And I think that these WILL be further used/developed in the future.
yeah i forget the programms in the middle :(.
Again, I can't agree... I don't know if ATI cares about "old games" and OpenGL... But at least nVidia should. And there are ENOUGH gamers that want to play "old" games. Old AND new games. And I don't think that they're only a few people...
but not the mass and often people doesnt know 3 oder 4 years old games, and for the mass only are grafic important.
often you had trouble with older games, in the past ATI was with support of older games a bit better as Nvidia, but today maybe its chance the situationen or both on the same level.
Well... I don't see this problem. At least not in the "near future".
yeah no problem, sometimes i see a little more black in the world as the rest, but sometimes im right :ick:
i think we will see, but i dont hope that im right.
Actually MS may have opened the door for OpenGL wider than it's been in a long time. The fact that DX10 only works on Vista basically means that the newest features are not available to users on XP via Direct X.
Right now it's commercial suicide to develop Vista only games and cut out 90% of your userbase. Similarly it's commercial suicide to not have the best graphics hardware will allow. Sticking to DX9 means they can't use shader model 4. Moving to OpenGL would cut out a lot of problems for developers in both respects. Especially since programming for Direct X is one of the major barriers preventing developers milking a successful title by porting it to Mac OS.
Will the companies abandon DX? Doubt it.
Will they start using OGL a bit more in light of what I've just said? Could happen. Depends on if they think of it, if OGL lets them do tricks that look as good as DX10 (or at least better than DX9) and if it's cost effective to do it.
in the first place i had so think too, but in the meantime i had chance a bit my mind.
why?
first to development games need time.
thats mean the first real games they use really the features of D3D 10 will came in the end of this year, but the mass will released in 2008/2009. (i doesnt count only games they use D3D 10 only for more speed or only use the rendering but have the same effects)
the next thing is, in this time are sells pc, the new pcs are selling with vista and the most causal games buy complett pc, so imho in the next 2 years will come to the most causal gamers vista over a new pc.
and then the time is money thing, the most modern engines have a 3.0 or a 2.0 render.
i think the most coders havent the time to code two new renders in the engine, a 4.0 and OpenGL, maybe thats wrong, but if we take a look at the markt and how many games in the last time released with bugs and how small in a serie sometimes the grafic chances are be, then i think thats a realistic szenario.
i think only the situation of 4.0 ak Direct 3D 10 only for vista will not itsself bring a boom of OpenGL used engines.
but i think that over a long time it will help that the solds of Mac`s are rise and thats today the crossplattform development more and more are important.
i hope thats enough to bring OpenGL back in the focus of the decision maker in the gaming industrie, so that in the future the gaming titels with OpenGL support will rise and thats we will someday have a complettly alternativ to direct X itsself, that will run on Mac and Linux.
i believe if we have a counterpart to direct X thats open to other system will help to break the monopol of microsoft.
today entertainment a important and games part in the use of pc and thiere have at the moment alternativs to windows problems.
Mehrpack
-
The primary reason the new DX10 features aren't being used is because no one has the hardware - this carries over to openGL.
hi,
yes at the moment is the saturation of hardware really low, they can handle SM 4.0.
i think they are so by 2%, not more as 5% by pc they used for gaming.
but i think this christmas the percent will rise, at the latest are killergames like crysis or the next unreal tournament will released, because i think a lot of people plan thiere hardware / computer upgrade on the base of such games.
Mehrpack