Category: Wishlist

OpenGL 4.3 and wishlist 5

OpenGL 4.3

So another sigraph and another openGL version, you can check out whats in it from basically any slightly openGL related website including openGL.org
I have to start with a little disclaimer that i haven’t actually tried anything just yet but anyway here are some comments Read more »

What the ps4 needs to get ahead of the xbox 720

So there is a better than 0% chance that we will see the new ps4 announced at this years E3, but heres the thing, the next console cycle is Sony’s to loose, so what will it take for it to get ahead of the next xbox in no particular order. Read more »

HTML 6 wishlist

Now i know that by the looks of it we will never have HTML 6, but humor me a bit on that one point, now i have done my fair share of websites and HTML coding both professionally and otherwise and there are definitely limitations and annoyances with html and im sure that after about 2 minutes of googling you might find 200 pages saying the same thing.
But these here in this list is definitely some that i think needs adding. Read more »

OpenGL wishlist 4.0: the slot model

Time for a fourth wish-list this time i will go into more detail about one specific thing i like OpenGL to adopt, while clarifying a few things about two oldies, perhaps for openGL 5.0 but who knows.

The slot model

This model should be seen as a vision on how to unify Data and shader management within openGL, especially regarding texturing as a lot of details is actually already implemented on the geometry side, this is mostly written against the new openGL 4 specification but i make no promises of conformity.

There are three main bits to this model, these are data, slots and shaders.
Each part are separate but still connected, especially the first two.
Read more »

OpenGL whish list 3.0

It’s been a while, and no it’s not because of the computer, it’s because of time, time and lack of things to write about, though not this time, this is something I wanted to write all this year.
In the beginning I was just collecting my thoughts, though I really should have written it down somewhere, then as months progressed I had less and less time to think about this.
However a few things lately caught my eye that made me rethink.

1. A while back Nvidia acquired Aegia, the physics chips maker, at first I thought “great now they will add a physics sub processor to every graphics card”.
No, they added it trough cuda, and I didn’t get it since although the gpu can do it well, any use of the gpu limits your frame rate, and that is generally considered bad.
In essence computing more objects means you can render less objects. Read more »

DSLR wish list

So i have had the camera for about two weeks now and i have taken about 1000 images and I have gotten the feel of it, it’s truly great, I have also read reviews for the D3 and D300, they seem even greater, but still I do feel there are a few things missing, so here is my wish list for the D4 and D400.

1. HDR:
With every digital Nikon generation the dynamic range between max light and min light as been ever so slightly increasing, likewise have the bit depths also been rising.
Soon there will come a time where the down sampling just doesn’t behave well while shooting in jpeg, that is why I suggest two things.

The first is the HDR button located on the same place as the Qual button is now on the D200 (the qual button should be near the menu button just like on the D80), while pressed the back wheel controls the dynamic range, or essentially the contrast of the image, the front wheel adjusts the mid tone weighting, of cause shooting raw ignores all that.

The next addition is a HDR shooting mode accessible either trough the bracketing function or the shooting mode selector wheel on the top left (the one under the ISO/WB/QUAL buttons).
This mode takes either one or several pictures with different exposures to create a full 32bit HDR image with a really high dynamic range (adjustable through the menu), this mode always shoots RAW. Read more »

GL wish list 2.0

A bit more than a year ago i posted a sort of wish list i wanted for openGL or computer graphics in general, a lot has happened since then, bu then again not enough has happened, so here is version 2.0 of that list, some things are off it and some things are new.

1. Z-buffer improvements.
Nothing has happened on this area besides for one thing, Nvidia released a sort of a tip at this years GDC to normalize the otherwise logarithmically spaced z buffer to something more linearly spaced, i haven’t tested it yet but i will.
According to them it’s sort of an hack that has a few problems, so i still really wish that we get the 64bit z buffer which will cause a shift that i will be talking about in point 2.

2. 64 or 128 bit floats.
Although we barely have 32 bit float textures i really do feel that we need to expand on this, at least internally in the shader units, this would definitely help with stuff like blurring shaders, extreme multi sampling shaders.

3. Virtual texturing.
Now this is one of the areas where most progress has been made, the new texture arrays or texture buffer objects really opens up the texturing bit, now with these there is not really a limit on how many textures you can have, i think the limit of the number of textures is now about 2048, it used to be 4 just a few months ago.
But still i really feel more can be done, Longs peak will take a step forward, but i want all limitations removed.

4. Blend shader.
This is something that came out of the many conversations on opengl.org i had with the various industry people there.
Basically what it is is a fourth shader stage that comes after the fragment shader.
What it does is that it takes the various bits of data generated by the fragment shader + whatever is in the current fragment of the render target and then output it to the specific fragment, no texture reads needed besides the render target, most often it would be just a simple pass trough shader.
There are many many new cool things you could do with this, like that layered rendering i was talking about the last time, coincidently this is why it’s not on the list currently.

5. Texture sampling.
I all actually pretty tired of mipmaping, it bugs me that the best hardware supported texture sampling method is actually a hack, i really want some kind of high quality projection centric gaussian texture sampling, or well at least something better than what we have now.

6. Raytracing.
Now i can’t stress it hard enough, raytracing will truly bring a revolution in graphics, well ok perhaps not, it is just another evolution, a great one but still.
And it wouldn’t be that hard to implement, for one it could be done in a shader, just place all the polygons to test in a texture buffer object and start testing, now that wouldn’t be all that effective.
So the next step would be some kind of specialized circuitry to make it faster.
I would suggest some kind of modified memory, a grid processor array of SPPUs (Single Purpose Processing Unit), they each contain the plane equations for one or at most a few polygons and a small and super simple set of gates that tests the polygon against the incoming ray and returns the distance and polygon id to a special router on the chip that decides what polygon id’s to return to the card based on the distance.
Doing it like that does mean that you can literally can fit thousands of processors on a simple little chip and that will cut down the ray test time from something unmanageable to something that more resembles a texture lookup.
And it’s just not graphics that will be affected by this, GPGPU physics will also do so and many many more things, i couldn’t really say because i don’t really know, it’s all new to everybody.

Well that’s all for now, perhaps i will revisit in a year or so.

OpenGL wishlist

I know almost everything about openGL and real time 3d graphics, and i am proud of that, but sometimes there are a few wee bits that i feel is missing.
So what better place than here to bring it up, well ok i admit there are better places, but this is my place and here i reign supreme.

1. Fix the damn z buffer
This problem is a two parter, it’s simple but annoying.
a) 64 bit z buffer, it will reduce distance z fighting, that isn’t to much to ask for, is it?
b) Currently the way graphics accelerators calculate the z value is by interpolating the vertics z-values, this is fast and works well 99.99% of the time, but on the flip side it is the reason why z fighting appears in the first place.
Instead use a standard plane equation for the z values, this will force the z values into submission and in the process reduce the near plane z-fighting.

2. Virtual texturing.
Or full virtualisation of the texture memory as John Carmack put it, it will fix the damn batch problem and give all graphics artists more freedom to work with, all in one swift blow.

3. Increased parallelism.
Real time computer graphics is the champion of parallelism, but it is also it’s strongest opponent.
Everyone in the business knows that computer games rarely have any huge benefit of multiple processors, this is because the render pipeline is horribly linear.
I love to see a parallel capable graphics API/graphics accelerator but i just don’t see that happening in the near future, perhaps in 3-5 years, but not before that.
I know how it could be done, i know the benefits of doing so, but they more or less laughed at me for suggesting anything like that on the openGL forums.
I know i am right on this one, so give me my damn parallelism before i hurt someone.

4. layered rendering.
I know, this one is a bit of a stretch, but it will make everything look so much nicer.
Let me explain what i mean.
in layered rendering you have a special color and z buffer, they have 8 or more layers in them.
when a pixel is written to the buffer a layer is chosen for it to be written to, if it is opaque it is always clamped to the deepest layer, if it’s transparent it chooses a layer before that depending a little on depth.
If a a pixel needs to occupy the space between layers(since they all have a z value) it pushes (and merges if needed) all other pixels put of the way.
If you understood what this means in terms of what it can do, you will also understand that it is somewhat of a wet dream for game makers.
But i admit, it is a bit of a stretch.

5. Raytracing.
It’s time for a change, it’s time to bring out the heavy artillery (and not just because i did that in the army) it’s time to introduce raytracing as an realistic addition to real time computer graphics, it can be done, it’s relatively easy to implement in shader programs and it will kick ass.
Not to mention the relative jump in visual quality games will get.

Well that is that, if you know a member of the ARB or the core Nvidia dev team, let them know about this, please.

WordPress Themes