PDA

View Full Version : Finally a twist in graphic APIs



Petr Schreiber
22-03-2014, 12:27
Maybe you noted the splash which ATi/AMD made with their Mantle renderer for Battlefield 4. It was basically a new API to expose functionality of the GPU in more efficient way. The efficiency is achieved by better structured API, to reduce CPU overhead.

The typical case of CPU bound approach in TBGL is using TBGL_BeginPoly/TBGL_EndPoly. This approach is present in TBGL because it has great educational value and allows you to jump in more easily than when using TBGL GBuffers, which are addressing the CPU overhead by reducing the number of calls and allowing to define large blocks of geometry... fast.

This can be, of course, pushed further. I will dedicate time to study the new approaches emerging right now - after 2 very boring years in GPU industry this catched my attention. I am reading through the docs, I subscribed to DirectX 12 early access to get inspired from "the other side" too.

While Mantle seems to perform well, I didn't manage to get any documentation for it, and as now DirectX and OpenGL demonstrate their ability to achieve similar results, I think I will drop this technology from my watch list (which is the case with ATi too often, remember their CTM technology for GPGPU?).

On the other side, as I declared many times before. I do not like the direction current GPU APIs follow currently. Instead of providing easy to use interface, they get more and more low level. I will try to compensate this with TBGL making it simple for us, poor mortals.

Further reading
Briefly on Mantle speed (https://battlelog.battlefield.com/bf4/news/view/bf4-mantle-live/)
From OpenGL perspective (http://blogs.nvidia.com/blog/2014/03/20/opengl-gdc2014/)
From Direct3D perspective (http://blogs.nvidia.com/blog/2014/03/20/directx-12/)

ErosOlmi
22-03-2014, 14:00
Battlefield 4: the best game ever.

:)

http://battlelog.battlefield.com/bf4/en/soldier/iiEros/stats/292830216/xboxone/

mike lobanovsky
22-03-2014, 14:07
Petr,

I care less for ATi technologies as changing horses in midstream isn't my style. I'm also perfectly sure there won't be any problems with an adequate matching of such technologies by MS in their Xbox+DirectX realm.

But can you please comment on the situation from the nVidia+OpenGL perspective? Can this 0% overhead driver business be abstracted seamlessly within the OpenGL framework itself so as to provide a unified API for the entire range of nVidia/ATi/Intel video cards and still keep up to the mark with the basic idea of a 0% overhead driver? Having all this medieval vendor-specific mess in the OpenGL API in the year of 2014 looks quite uninspiring to me.

Thank you,

mike lobanovsky
22-03-2014, 14:28
Hello Eros,

Isn't that patient looking more dead than alive? :D

Petr Schreiber
22-03-2014, 18:03
Hi Eros,

I need to try it out once free time will change from abstract class to normal class hehe! Do you have Xbox One? It is not sold here yet, grrr!

Mike,

I think the situation in OpenGL world has jumped forward a lot in the past years. I never believed to say this, but Intel cards start being more than usable :D - I even developed game for Intel system of customer, rendering full HD graphics and believe me, it ran better than expected :) (smooth, no artifacting, no specification deviations or hacks)

When you watch recent changes (4.x+) in OpenGL API, there is big focus on merging the useful features to so called core functionality, and I think we shall continue to see this trend. It started few years ago with bindless graphics, but I think it was the ATi run with Mantle which finally woke up the two big players to act. At least this is something to thank ATi for :). I expect next OpenGL specs to further merge the low-cpu overhead things to the core.

The pleasant effect for users is that you can notice the last API revisions (both D3D/OpenGL), didn't require the user to upgrade hardware, it is more and more about rethinking of what the DX10+ generation of cards can achieve and how to expose the functionality.


Petr

ReneMiner
22-03-2014, 20:31
So i read between the lines that you are up to re-new or refresh TBGL a little bit?
Or will you start a new GL-module based on new possibilities of tB?

Petr Schreiber
22-03-2014, 20:50
Hi Rene,

good question. I am currently in process of writing design docs for what I would like to see in ThinBASIC 2.x and TBGL 2.x.

I would like to keep TBGL as tool with easy to use interface, exposing the functionality which looks simple, but is "smart" and highly optimized inside. This is why I am looking into these new technologies: How to integrate them? How well their will be supported by 3 main vendors? These are the questions I am asking myself now.

I will share my design docs with the community once I feel they make sense. My original plan was Q1 2014, but more reasonable deadline I am trying to pursue now July 1st 2014.


Petr

ErosOlmi
23-03-2014, 11:38
Hello Eros,

Isn't that patient looking more dead than alive? :D
Here the link in English: http://battlelog.battlefield.com/bf4/en/soldier/iiEros/stats/292830216/xboxone/

Yes right :)
That is the game won/lost percentage. You join a team of 32 soldiers against other 32 and you do not know how good they are. And in any case I'm not that good :)
You cannot be good in all aspects but I'm in first world division (first in the world) for: Recon, Tank, AntiAir

Immersion of this game is astonishing, is like watching a movie and being part of the story.