Mid strictifying
This commit is contained in:
+9
-9
@@ -66,19 +66,19 @@ pokeVerx vbos offsets Verx{_vxPos=thePos,_vxCol=theCol,_vxType=theType} = case t
|
||||
>> pokeElemOff thePtr 7 x
|
||||
where
|
||||
thePtr = plusPtr (_vboPtr $ _psPolyz vbos) (_psPolyz offsets * 8 * floatSize)
|
||||
BezV (x,y,z,w) -> poke34 thePtr thePos theCol
|
||||
BezV (V4 x y z w) -> poke34 thePtr thePos theCol
|
||||
>> pokeElemOff thePtr 7 x
|
||||
>> pokeElemOff thePtr 8 y
|
||||
>> pokeElemOff thePtr 9 z
|
||||
>> pokeElemOff thePtr 10 w
|
||||
where
|
||||
thePtr = plusPtr (_vboPtr $ _psBez vbos) (_psBez offsets * 11 * floatSize)
|
||||
TextV (x,y) -> poke34 thePtr thePos theCol
|
||||
TextV (V2 x y) -> poke34 thePtr thePos theCol
|
||||
>> pokeElemOff thePtr 7 x
|
||||
>> pokeElemOff thePtr 8 y
|
||||
where
|
||||
thePtr = plusPtr (_vboPtr $ _psText vbos) (_psText offsets * 9 * floatSize)
|
||||
ArcV (x,y,z) -> poke34 thePtr thePos theCol
|
||||
ArcV (V3 x y z) -> poke34 thePtr thePos theCol
|
||||
>> pokeElemOff thePtr 7 x
|
||||
>> pokeElemOff thePtr 8 y
|
||||
>> pokeElemOff thePtr 9 z
|
||||
@@ -88,7 +88,7 @@ pokeVerx vbos offsets Verx{_vxPos=thePos,_vxCol=theCol,_vxType=theType} = case t
|
||||
|
||||
poke34 :: Ptr Float -> Point3 -> Point4 -> IO ()
|
||||
{-# INLINE poke34 #-}
|
||||
poke34 ptr (a,b,c) (d,e,f,g) = do
|
||||
poke34 ptr (V3 a b c) (V4 d e f g) = do
|
||||
pokeElemOff ptr 0 a
|
||||
pokeElemOff ptr 1 b
|
||||
pokeElemOff ptr 2 c
|
||||
@@ -148,7 +148,7 @@ pokePoint33s :: Ptr Float -> [(Point3,Point3)] -> IO Int
|
||||
pokePoint33s ptr vals0 = go vals0 0
|
||||
where
|
||||
go [] n = return n
|
||||
go ( ((a,b,c),(d,e,f)):vals) n = do
|
||||
go ( ((V3 a b c),(V3 d e f)):vals) n = do
|
||||
pokeElemOff ptr (off 0) a
|
||||
pokeElemOff ptr (off 1) b
|
||||
pokeElemOff ptr (off 2) c
|
||||
@@ -163,7 +163,7 @@ pokePoint3s :: Ptr Float -> [Point3] -> IO Int
|
||||
pokePoint3s ptr vals0 = go vals0 0
|
||||
where
|
||||
go [] n = return n
|
||||
go ( (a,b,c):vals) n = do
|
||||
go ( (V3 a b c):vals) n = do
|
||||
pokeElemOff ptr (off 0) a
|
||||
pokeElemOff ptr (off 1) b
|
||||
pokeElemOff ptr (off 2) c
|
||||
@@ -186,19 +186,19 @@ pokeLayVerx vbos imoffsets Verx{_vxPos=thePos,_vxCol=theCol,_vxType=theType, _vx
|
||||
>> pokeElemOff thePtr 7 x
|
||||
where
|
||||
thePtr = plusPtr (_vboPtr $ _psPolyz vbos) ((_psPolyz offsets + layOff) * 8 * floatSize)
|
||||
BezV (x,y,z,w) -> poke34 thePtr thePos theCol
|
||||
BezV (V4 x y z w) -> poke34 thePtr thePos theCol
|
||||
>> pokeElemOff thePtr 7 x
|
||||
>> pokeElemOff thePtr 8 y
|
||||
>> pokeElemOff thePtr 9 z
|
||||
>> pokeElemOff thePtr 10 w
|
||||
where
|
||||
thePtr = plusPtr (_vboPtr $ _psBez vbos) ((_psBez offsets + layOff) * 11 * floatSize)
|
||||
TextV (x,y) -> poke34 thePtr thePos theCol
|
||||
TextV (V2 x y) -> poke34 thePtr thePos theCol
|
||||
>> pokeElemOff thePtr 7 x
|
||||
>> pokeElemOff thePtr 8 y
|
||||
where
|
||||
thePtr = plusPtr (_vboPtr $ _psText vbos) ((_psText offsets + layOff) * 9 * floatSize)
|
||||
ArcV (x,y,z) -> poke34 thePtr thePos theCol
|
||||
ArcV (V3 x y z) -> poke34 thePtr thePos theCol
|
||||
>> pokeElemOff thePtr 7 x
|
||||
>> pokeElemOff thePtr 8 y
|
||||
>> pokeElemOff thePtr 9 z
|
||||
|
||||
Reference in New Issue
Block a user