summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Crayne <joe@jerkface.net>2019-04-26 22:43:01 -0400
committerJoe Crayne <joe@jerkface.net>2019-04-26 22:43:01 -0400
commitef3e79fce0ba715f7c40980db7359a051fe6280f (patch)
treea6c5c16a717a60a78eeefcfef815b901e52c1201
parenteb68ee1487353484b14f88ee0f59f74d247d8fb5 (diff)
MeshSketch: added skybox points.
-rw-r--r--MeshSketch.hs14
1 files changed, 14 insertions, 0 deletions
diff --git a/MeshSketch.hs b/MeshSketch.hs
index 0208832..9d49f93 100644
--- a/MeshSketch.hs
+++ b/MeshSketch.hs
@@ -9,6 +9,7 @@ import qualified Data.ByteString as SB
9import Data.Coerce 9import Data.Coerce
10import Data.Functor 10import Data.Functor
11import qualified Data.Map as Map 11import qualified Data.Map as Map
12import qualified Data.Vector as V
12import Data.IORef 13import Data.IORef
13import Foreign.C.Types 14import Foreign.C.Types
14import GI.Gdk 15import GI.Gdk
@@ -16,6 +17,7 @@ import GI.GObject.Functions
16import GI.Gtk hiding (IsWindow,windowFullscreen,windowUnfullscreen) 17import GI.Gtk hiding (IsWindow,windowFullscreen,windowUnfullscreen)
17import Numeric.LinearAlgebra hiding ((<>)) 18import Numeric.LinearAlgebra hiding ((<>))
18import LambdaCube.GL as LC 19import LambdaCube.GL as LC
20import LambdaCube.GL.Mesh as LC
19import LambdaCube.GL.Data 21import LambdaCube.GL.Data
20-- import LambdaCube.GL.Type as LC 22-- import LambdaCube.GL.Type as LC
21import LambdaCube.IR 23import LambdaCube.IR
@@ -134,6 +136,18 @@ onRealize mm@(MeshMaker w ref) = do
134 skybox <- newIORef 0 136 skybox <- newIORef 0
135 Right ts <- skyboxLoad skyboxes 0 137 Right ts <- skyboxLoad skyboxes 0
136 skybox_id <- uploadCubeMapToGPU ts 138 skybox_id <- uploadCubeMapToGPU ts
139 mi <- LC.uploadMeshToGPU Mesh
140 { mAttributes = Map.singleton "position" $ A_V3F $ V.fromList
141 [ V3 0 0 (-1)
142 , V3 0 0 1
143 , V3 0 (-1) 0
144 , V3 0 1 0
145 , V3 (-1) 0 0
146 , V3 01 0 0
147 ]
148 , mPrimitive = P_Points
149 }
150 LC.addMeshToObjectArray storage "skypoints" [] mi
137 LC.updateUniforms storage $ do 151 LC.updateUniforms storage $ do
138 "Skybox" @= return skybox_id 152 "Skybox" @= return skybox_id
139 Just pwidget <- get w #parent 153 Just pwidget <- get w #parent