First implementation of quadratic bezier curve shader
This commit is contained in:
+10
-1
@@ -49,6 +49,9 @@ preloadRender = do
|
||||
[(0,3),(1,4),(2,3)] Points pokeCharStrat
|
||||
"data/texture/charMap.png"
|
||||
|
||||
bezierQuadShader
|
||||
<- makeShader "bezierQuad" [vert,geom,frag] [(0,3),(1,4)] Triangles pokeBezQStrat
|
||||
|
||||
--the following vbo is set up to contain one fixed vertex
|
||||
dummyvbo <- genObjectName
|
||||
dummyptr <- mallocArray numDrawableElements
|
||||
@@ -61,7 +64,7 @@ preloadRender = do
|
||||
backgroundvao <- setupVAO [(0,4),(1,2)]
|
||||
|
||||
return $ RenderData
|
||||
{ _listShaders = [bslist,lslist,cslist,aslist,eslist]
|
||||
{ _listShaders = [bslist,lslist,cslist,aslist,eslist,bezierQuadShader]
|
||||
, _dummyVBO = dummyvbo
|
||||
, _dummyPtr = dummyptr
|
||||
, _lightSourceShader = lsShad
|
||||
@@ -79,7 +82,13 @@ cleanUpRenderPreload pd = do
|
||||
freeShaderPointers $ _backgroundShader pd
|
||||
free $ _dummyPtr pd
|
||||
|
||||
{-# INLINE pokeBezQStrat #-}
|
||||
pokeBezQStrat :: RenderType -> [[[Float]]]
|
||||
pokeBezQStrat (RenderBezQ vs) = fmap (\((x,y,z),(r,g,b,a)) -> [[x,y,z],[r,g,b,a]]) vs
|
||||
pokeBezQStrat _ = []
|
||||
|
||||
{-# INLINE pokeTriStrat #-}
|
||||
pokeTriStrat :: RenderType -> [[[Float]]]
|
||||
pokeTriStrat (RenderPoly vs) = fmap (\((x,y,z),(r,g,b,a)) -> [[x,y,z],[r,g,b,a]]) vs
|
||||
pokeTriStrat _ = []
|
||||
|
||||
|
||||
Reference in New Issue
Block a user