First pass at using UBO
This commit is contained in:
+21
-2
@@ -21,9 +21,9 @@ import Picture.Tree
|
||||
import Shader
|
||||
import Shader.Data
|
||||
import Shader.Poke
|
||||
--import MatrixHelper
|
||||
import MatrixHelper
|
||||
|
||||
import Foreign (Word32)
|
||||
import Foreign
|
||||
--import Control.Applicative
|
||||
--import Control.Monad.State
|
||||
import Control.Lens
|
||||
@@ -55,6 +55,25 @@ doDrawing pdata w = do
|
||||
viewFroms@(viewFromx,viewFromy) = _cameraViewFrom w
|
||||
pic = worldPictures w
|
||||
wallPoints = map fst wallPointsCol
|
||||
|
||||
let pmat = perspectiveMatrixb rot camzoom trans wins viewFroms
|
||||
pmata <- (newMatrix RowMajor $ perspectiveMatrix rot camzoom trans wins viewFroms) :: IO (GLmatrix GLfloat)
|
||||
|
||||
-- withMatrix pmata $ \_ ptr ->
|
||||
-- bufferData UniformBuffer $=
|
||||
-- (fromIntegral $ sizeOf (head pmat) * length pmat
|
||||
-- ,ptr
|
||||
-- ,StreamDraw
|
||||
-- )
|
||||
withArray pmat $ \ptr ->
|
||||
bufferData UniformBuffer $=
|
||||
(fromIntegral $ sizeOf (head pmat) * length pmat
|
||||
,ptr
|
||||
,StreamDraw
|
||||
)
|
||||
|
||||
-- bufferData UniformBuffer $=
|
||||
|
||||
-- set the coordinate uniforms ready for drawing elements using world coordinates
|
||||
--setIsoMatrixUniforms pdata rot camzoom trans wins
|
||||
setPerpMatrixUniforms pdata rot camzoom trans wins viewFroms
|
||||
|
||||
Reference in New Issue
Block a user