cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

reidm
Adept I

Isoline tessellation does not match OpenGL 4.1 spec

On my Radeon HD 7770 with 13.4 drivers I get the following behavior with isoline tessellation:

gl_TessLevelOuter[0] = stripCount

gl_TessLevelOuter[1] = segmentCount

This does not match the OpenGL 4.1 specification which states:

The number of segments in each strip is derived from the first outer tessellation level; the number of line strips drawn is derived from the second outer tessellation level.

I also tested 12.4 drivers, and behavior in this case matches the specification.

0 Likes
1 Solution
gsellers
Staff

Hi,

This was a spec bug in the 4.1 specification and was subsequently fixed in later versions of the OpenGL specification. The current OpenGL 4.3 specification says:

The number of isolines generated is derived from the first outer tessellation level; the number of segments in each isoline is derived from the second outer tessellation level.

I don't believe the fix was back-ported to the older version of the specification. Our implementation matches the 4.3 specification. We would recommend always referring to the most recent version of the specification, even if you are writing an application designed to run on older hardware or drivers.

Thanks,

Graham

View solution in original post

0 Likes
2 Replies
gsellers
Staff

Hi,

This was a spec bug in the 4.1 specification and was subsequently fixed in later versions of the OpenGL specification. The current OpenGL 4.3 specification says:

The number of isolines generated is derived from the first outer tessellation level; the number of segments in each isoline is derived from the second outer tessellation level.

I don't believe the fix was back-ported to the older version of the specification. Our implementation matches the 4.3 specification. We would recommend always referring to the most recent version of the specification, even if you are writing an application designed to run on older hardware or drivers.

Thanks,

Graham

0 Likes

Thanks for clarifying this. It looks like the latest 4.3 spec has been corrected in one place, but there's still a bug further on in the spec.

At first it says:

The number of isolines generated is derived from the first outer tessellation level; the number of segments in each isoline is derived from the second outer tessellation level.


But then says:

The u = 0 and u = 1 edges of the rectangle are subdivided according to the second outer tessellation level...Each of the n lines is then subdivided according to the first outer tessellation level.


0 Likes