You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to visualize the derived tessellation level using vertex colors I wanted to pass an outer tessellation level from the control shader to the evaluation shader.
Unfortunately the shader code produced by FShade isn't correct.
let heightTess (t : Triangle<Vertex>) =
tessellation {
//TCS part
let outer01 = tessScreenSpaceSphere t.P0.pos t.P1.pos t.P0.tc t.P1.tc
let outer12 = tessScreenSpaceSphere t.P1.pos t.P2.pos t.P1.tc t.P2.tc
let outer20 = tessScreenSpaceSphere t.P2.pos t.P0.pos t.P2.tc t.P0.tc
let inner = (outer01 + outer12 + outer20) / 3.0
let! coord = tessellateTriangle inner (outer12, outer20, outer01)
//TES part
let p = coord.X * t.P0.pos + coord.Y * t.P1.pos + coord.Z * t.P2.pos
let tc = coord.X * t.P0.tc + coord.Y * t.P1.tc + coord.Z * t.P2.tc
let c = coord.X * t.P0.c + coord.Y * t.P1.c + coord.Z * t.P2.c
let h0 = heightMap.Sample(tc).X
let p0 = V3d(p.X,p.Y,h0)
return {
pos = uniform.ModelViewProjTrafo * V4d(p0, 1.0)
wp = uniform.ModelTrafo * V4d(p0, 1.0)
n = V3d.OOI
tc = tc
c = c
level = outer01
}
}
This correctly produces patch out float te_outer01; for the outer01 attribute in the control shader.
Instead of patch in float te_outer01; just in float te_outer01; is produced for the evaluation shader.
I think this leads to the following error message when compiling the shader code:
[GL] shader compiler returned errors: "Tessellation evaluation info
----------------------------
0(141) : error C7544: OpenGL requires tessellation evaluation inputs to be arrays
"
The text was updated successfully, but these errors were encountered:
In order to visualize the derived tessellation level using vertex colors I wanted to pass an outer tessellation level from the control shader to the evaluation shader.
Unfortunately the shader code produced by FShade isn't correct.
This correctly produces
patch out float te_outer01;
for theouter01
attribute in the control shader.Instead of
patch in float te_outer01;
justin float te_outer01;
is produced for the evaluation shader.I think this leads to the following error message when compiling the shader code:
The text was updated successfully, but these errors were encountered: