DeclaredEvol 10 Posted January 21, 2011 (edited) While I have been working on a modified version of enbseries, I had come across something that probably has not been seen on ArmA 2 before... well at least not by clients. I represent to you, phong shading... Phong shading demonstrates the incredible amounts of shading through a basic color chart, such as red... green... blue. It is basically contrasted with other interpolating methods such as Gouraud shading or flat shading. ::The Phong Formula for 3D Shading:: These are the extreme complexities of what goes on behind your vision of educated pixels and renderings, it is almost like heat vision in a way. Every millisecond, thousands or more of these little calculations I have stated above are in process to determine ray traced light waves moving across the game. And the when the light wave and the object collide, it creates an immerse sharpness to the pixels with Gamma and Saturation curves. To speak English here, it basically shows brightness on objects reflected from lights. Such as this photo below... ::ArmA 2 Phong Shading:: http://img217.imageshack.us/f/craaa.png For people to grasp the concept on how to modify the graphics engine, this is a VERY important tool to rely on. Hopefully some time in the future, ArmA 2 can support DirectX10 and DirectX11. Some of the MAJOR differences between DirectX9 Tessellation that ArmA 2 uses is... Parallax Occlusion. Parallax Occlusion is simply simulating the same tessellation as DirectX10-11 but in a flat plane. Tessellation varies in poly counts which takes up bytes of memory at a time, and most usually can cause performance drops. This is why DirectX9 cannot handle the Real Time tessellation that DirectX10-11 can. It is an older library, therefor harder to display the impressive work that the others can. As you can see in this video here, Parallax Occlusion... the walls are putting you under the illusion that there is depth and tessellation. "Which is NOT real tessellation, and is used in ArmA 2... DirectX9 only supports this." And if you see in DirectX10-11, you will see the real time tessellation multiply tremendously. NOW! for those who don't know even a bit of what I am talking about... DirectX is the library of functions on your computer that calculate your video games every single inch of detail. From skeleton, to the movement and physics of objects. DirectX without Tessellation is like making stones just a picture on the ground, but no actual texture or bumpiness. With Tessellation, you get precisely a great deal of bumps and ridges. OpenGL is another library, but it had been abused and forgotten by Microsoft. It is basically backstage history with Unreal Gold and Quake. No offense to linux users xD Anyways, the entire point I am making here is that if we can get enough people together to port DirectX10-11 to ArmA 2. Then we might have something going here, and possibly the company Bohemia Interactive themselves can profit from it. I have some extra information I might release in a bit more time, I have a tutorial on the source script of DirectX10-11 programming... and the major steps of completion. Edited January 25, 2011 by DeclaredEvol Image > 100 kb Share this post Link to post Share on other sites
Tonci87 163 Posted January 21, 2011 Well this seems interesting, but lets give BIS the Time to Fix the Graphic issues they have NOQ before going on to something more complex BTW your Pic is waaaaay to big for the Forum Share this post Link to post Share on other sites
kororas 10 Posted January 21, 2011 So how did Microsoft abuse and forget about OpenGL? It isn't their standard and never was. And it appears to be doing quite well actually. And what makes you think BI is going to go to the immense trouble of ripping out the current gfx engine and replacing it with DirectX 10/11 version? Thats going to be Arma 3. :j: Share this post Link to post Share on other sites
Dead3yez 0 Posted January 21, 2011 And what makes you think BI is going to go to the immense trouble of ripping out the current gfx engine and replacing it with DirectX 10/11 version? He said this.... Anyways, the entire point I am making here is that if we can get enough people together to port DirectX10-11 to ArmA 2. Then we might have something going here, and possibly the company Bohemia Interactive themselves can profit from it. Share this post Link to post Share on other sites
dmarkwick 261 Posted January 21, 2011 Tesselation looks good, but it is pure eye-candy. For the purposes of ArmA2's lifetime, I'd prefer flat geometry and more performance, I wish the parallax was disableable as it's more of a distraction than an effect (for me) :) Personally, I think the greatest improvement ArmA2/3 could have is from employing deferred lighting/rendering. Deferred lighting removes the hardware lights limit, allowing for hundreds or thousands of light sources with little cumulative impact, something I think would vastly improve ArmA's game world enormously. Phong shading - now, that's technology that's about 20 years old, I haven't even heard the phrase in about ten years, are you sure it hasn't been superceded or incorporated already as a standard graphics library funtionality? Share this post Link to post Share on other sites
PuFu 4600 Posted January 21, 2011 ... Hey there, This is in theory a really nice idea. I am not certain about its possible implementation though. 1. Tesselating the models in A2 would need some fixes on the models in the first place to make it work (i know how tesselation works, i am not sure if DX11 - btw, DX10 doesn't support Real Time tesselation - needs the same pre-requirements for it.) I am also uncertain at this point if DX11 still needs LODs or if it creates those on the the fly using the tesselation technic. 2. OpenGL is not a standard for microsoft, but that doesn't mean it is not working coreclty, or GFX wise impressive in it's own way. OSX and Linux based systems works great on openGL. Games ported on openGL are also working just fine (although this is not the subject of this topic, i thought it was worth mentioning). 3.Phong Shanding is nothing new. It has been around for decades. It is standard for DX9 games for at least 5-6 years if not more. Share this post Link to post Share on other sites
Tankbuster 1747 Posted January 21, 2011 LOL @ picture size. Share this post Link to post Share on other sites
avengerzx 10 Posted January 21, 2011 ARMA 2 has Parallax Occulusion to make the ammo's looks so smooth in it's curvature. Cool, by changing the Direct3D API in the engine also is a large scale improvement/modification to the engine. Share this post Link to post Share on other sites
DeclaredEvol 10 Posted January 21, 2011 (edited) So how did Microsoft abuse and forget about OpenGL? It isn't their standard and never was. And it appears to be doing quite well actually.And what makes you think BI is going to go to the immense trouble of ripping out the current gfx engine and replacing it with DirectX 10/11 version? Thats going to be Arma 3. :j: You really think it is that difficult??? I mean, it is difficult. But I hang out with friends that play an old game that didn't even support Directx 9 and they ported Directx9-11 on the game. The game is literally 10 years of age, and there is absolutely no source reference to how to program in that game. Only a SDK [software Development Kit] and a few other tools. ---------- Post added at 03:45 PM ---------- Previous post was at 03:40 PM ---------- Hey there,This is in theory a really nice idea. I am not certain about its possible implementation though. 1. Tesselating the models in A2 would need some fixes on the models in the first place to make it work (i know how tesselation works, i am not sure if DX11 - btw, DX10 doesn't support Real Time tesselation - needs the same pre-requirements for it.) I am also uncertain at this point if DX11 still needs LODs or if it creates those on the the fly using the tesselation technic. 2. OpenGL is not a standard for microsoft, but that doesn't mean it is not working coreclty, or GFX wise impressive in it's own way. OSX and Linux based systems works great on openGL. Games ported on openGL are also working just fine (although this is not the subject of this topic, i thought it was worth mentioning). 3.Phong Shanding is nothing new. It has been around for decades. It is standard for DX9 games for at least 5-6 years if not more. yes well said, and I know about open gl... however Microsoft basically signed a contract or pretty much made a promise with linux that they would include Open GL drivers for games, and it was only for a year or two. OpenGL is pretty much history in the making of games, and the last game I believe that used it was Prey 2 if there is one. Some games imported the API but I extremely doubt there are many... anyways, I agree... no one is going to go through the extreme trouble of rewriting the entire engine. However, in the long run... it would be quite interesting to know if it is possible! ---------- Post added at 03:47 PM ---------- Previous post was at 03:45 PM ---------- ARMA 2 has Parallax Occulusion to make the ammo's looks so smooth in it's curvature. Cool, by changing the Direct3D API in the engine also is a large scale improvement/modification to the engine. yeah, Parallax Occlusion is in pretty much everything that uses Shader Model 3.0 in ArmA 2. And some more as well, but look at it in this perspective. It doesn't have to process multiplied polygons that cream the video memory and burn the CPU. ---------- Post added at 03:50 PM ---------- Previous post was at 03:47 PM ---------- Tesselation looks good, but it is pure eye-candy. For the purposes of ArmA2's lifetime, I'd prefer flat geometry and more performance, I wish the parallax was disableable as it's more of a distraction than an effect (for me) :) Personally, I think the greatest improvement ArmA2/3 could have is from employing deferred lighting/rendering. Deferred lighting removes the hardware lights limit, allowing for hundreds or thousands of light sources with little cumulative impact, something I think would vastly improve ArmA's game world enormously.Phong shading - now, that's technology that's about 20 years old, I haven't even heard the phrase in about ten years, are you sure it hasn't been superceded or incorporated already as a standard graphics library funtionality? Yes! ArmA 2 has been very dim with light, all of the sun rays look like it is coming through a yellow aura. From ArmA to ArmA 2, the first ArmA actually had some nice lighting... a little less in the ray tracing but still... it was visually almost just as good as ArmA 2. Edited January 21, 2011 by DeclaredEvol Share this post Link to post Share on other sites
Cookieeater 10 Posted January 22, 2011 Phong shading is nothing new. Share this post Link to post Share on other sites
max power 21 Posted January 22, 2011 This reminds me of Kegetys's DXDLL program for OFP that would enable bloom, water reflections, etc. Share this post Link to post Share on other sites
jumpinghubert 49 Posted January 22, 2011 LOL @ picture size. lol @ God of facepalm has nothing to say constructive FPDR Share this post Link to post Share on other sites
hellfire257 3 Posted January 22, 2011 That certainly looks like an excellent project which could revolutionise the engine. This has great potential and I hope some BIS staff see this thread. Share this post Link to post Share on other sites
Pyronick 21 Posted January 22, 2011 (edited) Tesselation looks good, but it is pure eye-candy. For the purposes of ArmA2's lifetime, I'd prefer flat geometry and more performance, I wish the parallax was disableable as it's more of a distraction than an effect (for me) :) Personally, I think the greatest improvement ArmA2/3 could have is from employing deferred lighting/rendering. Deferred lighting removes the hardware lights limit, allowing for hundreds or thousands of light sources with little cumulative impact, something I think would vastly improve ArmA's game world enormously.Phong shading - now, that's technology that's about 20 years old, I haven't even heard the phrase in about ten years, are you sure it hasn't been superceded or incorporated already as a standard graphics library funtionality? Tessellation isn't just eyecandy. At this moment, triangle tessellation is the best way to scale performance.Specifically for realtime level-of-detail alterations tessellation is a perfect fit. It can dynamically, based on system load or desired LOD, alter LODs on-the-fly without crippling ROPs and TMUs. Currently parallax occlusion offers you two possibilities: On or Off. Tessellation however is perfectly and infinitely scalable solving a lot of compatibility issues. As it is strictly polygonal-based instead of vertex-based it is compatible with all other lighting, shadowing, anti-aliasing and anisotropic filtering algorithms. There is only one problem: Standardized hardware-accelerated triangle tessellation is only possible on DirectX 11 or OpenGL 4.0 compliant hardware. Phong shading is used in various render engines like Valve Software's Source engine. Edited January 22, 2011 by SgtH3nry3 Share this post Link to post Share on other sites
dmarkwick 261 Posted January 22, 2011 Tessellation isn't just eyecandy. At this moment, triangle tessellation is the best way to scale performance.Specifically for realtime level-of-detail alterations tessellation is a perfect fit. It can dynamically, based on system load or desired LOD, alter LODs on-the-fly without crippling ROPs and TMUs. Currently parallax occlusion offers you two possibilities: On or Off. Tessellation however is perfectly and infinitely scalable solving a lot of compatibility issues. As it is strictly polygonal-based instead of vertex-based it is compatible with all other lighting, shadowing, anti-aliasing and anisotropic filtering algorithms. There is only one problem: Standardized hardware-accelerated triangle tessellation is only possible on DirectX 11 or OpenGL 4.0 compliant hardware. Phong shading is used in various render engines like Valve Software's Source engine. Yes, I take the point about it not being pure eye-candy :) however, it is a fix too far for ArmA2. Specifically, I don't know how tesselation works on a complex object such as a tree, and especially trees in the numbers that ArmA2 has. Tesselation represents an exciting step in gaming terms, but I doubt we'll see it a in a BIS production for a long while yet. However, I'm always eager to be proved wrong ;) Share this post Link to post Share on other sites
Pyronick 21 Posted January 22, 2011 (edited) Yes, I take the point about it not being pure eye-candy :) however, it is a fix too far for ArmA2. Specifically, I don't know how tesselation works on a complex object such as a tree, and especially trees in the numbers that ArmA2 has. Tesselation represents an exciting step in gaming terms, but I doubt we'll see it ain a BIS production for a long while yet. However, I'm always eager to be proved wrong ;) Tessellation should work the same as using static meshes for trees.I know that the Russian based Unigine Corps. has succesfully implemented tessellation in their Unigine engine software a year ago. At the time they demonstrated their engine we were told that tessellation was used for terrain and fluid dynamics (like in DIRT 2) at that stage. As for the compatibility issues. If an ArmA 3 is to be released in 2012, tessellation hardware has been available since 2009. One should expect future ArmA titles to run on somewhat modern (at least DirectX 10/11) hardware. Another big advantage is that it leaves a lot of processing power for more important things like particle rendering, physics and actual graphics. Software studios often run about 3-4 years behind the hardware specification. This is because they need to be educated on new technologies and how to properly implement them. Obviously compatibility is also a key point, but this is within the de facto 3-year margin. Funny detail is that triangle tessellation made professional flight simulators possible in the late nineties. It was used to project meshing tiles in the distance to create a detailed terrain instead of a plane with simple polygonal abnormalities. It has been around for long time, but strangely the inefficient and "fake" occlusion shader has been used the last couple of years. Edited January 22, 2011 by SgtH3nry3 Share this post Link to post Share on other sites
noubernou 77 Posted January 23, 2011 All this rendering tech is great, but if you don't have the capacity to exploit it then what does it matter? What I mean to say is that the settings and maps of ArmA games are HUGE. Unless there is also a comparable increase in things like fractal generation of micro terrain features to automatically provide the detail that these rendering techniques and hardware can exploit then its really a moot point. Hopefully we see advances along the same lines that the folks at Outerra are making with their fractal terrain detail generation, as that looks to be the best there is at the moment. Share this post Link to post Share on other sites
DeclaredEvol 10 Posted January 24, 2011 well, i know Bohemia Interactive knows about this stuff... considering they already made it with parallax occlusion. But as for the modders and scripters, I suppose this would be a bit important to know if there were to be importing of DX10-11. Share this post Link to post Share on other sites
gossamersolid 155 Posted January 24, 2011 You really think it is that difficult??? I mean, it is difficult. But I hang out with friends that play an old game that didn't even support Directx 9 and they ported Directx9-11 on the game. The game is literally 10 years of age, and there is absolutely no source reference to how to program in that game. Only a SDK [software Development Kit] and a few other tools. Just out of curiosity, what game did they port to Dx11? Share this post Link to post Share on other sites
DeclaredEvol 10 Posted January 25, 2011 Just out of curiosity, what game did they port to Dx11? Unreal Gold, it is before Unreal Tournament... it is pretty old. I still play it, and at the time the game was so old that it only supported Glide FX for Voodoo cards... and Software Rendering lol! Share this post Link to post Share on other sites