Prevent cloud "pop" when an overlapping cloud fades out to nothing
This commit is contained in:
+14
-3
@@ -2,6 +2,7 @@ module Shader
|
||||
( freeShaderPointers'
|
||||
, drawShaderLay
|
||||
, shadVBOptr
|
||||
, drawFullShader
|
||||
, drawShader
|
||||
, pokeBindFoldable
|
||||
, pokeBindFoldableLayer
|
||||
@@ -35,9 +36,9 @@ drawShaderLay l countsVector shadIn fs = do
|
||||
(fromIntegral $ l*numSubElements)
|
||||
(fromIntegral i)
|
||||
|
||||
drawShader :: FullShader -> Int -> IO ()
|
||||
{-# INLINE drawShader #-}
|
||||
drawShader fs i = do
|
||||
drawFullShader :: FullShader -> Int -> IO ()
|
||||
{-# INLINE drawFullShader #-}
|
||||
drawFullShader fs i = do
|
||||
glUseProgram (_shadName fs)
|
||||
glBindVertexArray $ fs ^. shadVAO . vaoName
|
||||
case _shadTex' fs of
|
||||
@@ -50,6 +51,16 @@ drawShader fs i = do
|
||||
0
|
||||
(fromIntegral i)
|
||||
|
||||
drawShader :: Shader -> Int -> IO ()
|
||||
{-# INLINE drawShader #-}
|
||||
drawShader fs i = do
|
||||
glUseProgram (_shaderUINT fs)
|
||||
glBindVertexArray $ fs ^. shaderVAO . vaoName
|
||||
glDrawArrays
|
||||
(_shaderPrimitive fs)
|
||||
0
|
||||
(fromIntegral i)
|
||||
|
||||
freeShaderPointers' :: (FullShader,VBO) -> IO ()
|
||||
freeShaderPointers' = free . _vboPtr . snd
|
||||
|
||||
|
||||
Reference in New Issue
Block a user