diff options
Diffstat (limited to 'MeshSketch.hs')
-rw-r--r-- | MeshSketch.hs | 14 |
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 | |||
9 | import Data.Coerce | 9 | import Data.Coerce |
10 | import Data.Functor | 10 | import Data.Functor |
11 | import qualified Data.Map as Map | 11 | import qualified Data.Map as Map |
12 | import qualified Data.Vector as V | ||
12 | import Data.IORef | 13 | import Data.IORef |
13 | import Foreign.C.Types | 14 | import Foreign.C.Types |
14 | import GI.Gdk | 15 | import GI.Gdk |
@@ -16,6 +17,7 @@ import GI.GObject.Functions | |||
16 | import GI.Gtk hiding (IsWindow,windowFullscreen,windowUnfullscreen) | 17 | import GI.Gtk hiding (IsWindow,windowFullscreen,windowUnfullscreen) |
17 | import Numeric.LinearAlgebra hiding ((<>)) | 18 | import Numeric.LinearAlgebra hiding ((<>)) |
18 | import LambdaCube.GL as LC | 19 | import LambdaCube.GL as LC |
20 | import LambdaCube.GL.Mesh as LC | ||
19 | import LambdaCube.GL.Data | 21 | import LambdaCube.GL.Data |
20 | -- import LambdaCube.GL.Type as LC | 22 | -- import LambdaCube.GL.Type as LC |
21 | import LambdaCube.IR | 23 | import 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 |