Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

#ActualYours3!f

Posted 06 May 2012 - 07:06 AM

Hi,

I did the modifications only to get the code running in a small tessellation exercise I wrote a while back. I didn’t want to change much on the CPU side, so I just used the uniform buffer objects that were passed in already.
On the CPU side I didn’t specify the attribute binding, so I had to do it in GLSL. Doing this in GLSL is just a personal favor.



For all uniform parameters I utilized a uniform buffer object, e.g.:

layout(std140) uniform TessFactor
{
  float tess_level_inner;
  float tess_level_outer;
};

is that a performance win, or you just like to use uniforms this way?

I think the performance win isn’t that big. It’s more that I like that sort of grouping as it reminds me of constant buffers in Dx.


It works on my end. I tested on a GeForce 460 GTX (Win 7, 64 Bit).

I guess this is the relevant bit. I have an AMD Radeon HD 5670 (Linux, 64 bit, same problem on Win 7 64 bit with same drivers) with newest drivers. So can you please verify the code on AMD as well? Because if thats the problem, then I guess I should contact the AMD dev guys to fix this...

Sorry, I neither have an AMD at home nor in the lab.
I attached the code so you can test it yourself.

Yes, you should probably report this to AMD if it turns out to be some sort of bug.

Cheers!


Thank you Posted Image this saved me writing an example.

Well I had to do some modifications to get it running, but eventually it was running, so I guess I'm doing something wrong.
I've attached the modified code. (tessellation.dom, and Tessellation_end.cpp, plus file renamings and I added headers, libs and dlls)

#1Yours3!f

Posted 06 May 2012 - 07:04 AM

Hi,

I did the modifications only to get the code running in a small tessellation exercise I wrote a while back. I didn’t want to change much on the CPU side, so I just used the uniform buffer objects that were passed in already.
On the CPU side I didn’t specify the attribute binding, so I had to do it in GLSL. Doing this in GLSL is just a personal favor.



For all uniform parameters I utilized a uniform buffer object, e.g.:

layout(std140) uniform TessFactor
{
  float tess_level_inner;
  float tess_level_outer;
};

is that a performance win, or you just like to use uniforms this way?

I think the performance win isn’t that big. It’s more that I like that sort of grouping as it reminds me of constant buffers in Dx.


It works on my end. I tested on a GeForce 460 GTX (Win 7, 64 Bit).

I guess this is the relevant bit. I have an AMD Radeon HD 5670 (Linux, 64 bit, same problem on Win 7 64 bit with same drivers) with newest drivers. So can you please verify the code on AMD as well? Because if thats the problem, then I guess I should contact the AMD dev guys to fix this...

Sorry, I neither have an AMD at home nor in the lab.
I attached the code so you can test it yourself.

Yes, you should probably report this to AMD if it turns out to be some sort of bug.

Cheers!


Thank you Posted Image this saved me writing an example.

Well I had to do some modifications to get it running, but eventually it was running, so I guess I'm doing something wrong.
I've attached the modified code.

PARTNERS