Cleanup
This commit is contained in:
+19
-21
@@ -1,8 +1,8 @@
|
||||
module Shader.AuxAddition
|
||||
( addTexture'
|
||||
, vaddTextureNoFilter'
|
||||
, addTextureArray'
|
||||
, addUniforms'
|
||||
( addTexture
|
||||
, vaddTextureNoFilter
|
||||
, addTextureArray
|
||||
, addUniforms
|
||||
, tilesToLine -- ^ kept in case it is needed in the future
|
||||
) where
|
||||
import Unsafe.Coerce
|
||||
@@ -17,23 +17,23 @@ import Data.List.Extra
|
||||
import Codec.Picture
|
||||
import qualified Data.Vector.Storable as VS
|
||||
import Control.Lens
|
||||
import Graphics.Rendering.OpenGL hiding (Point,translate,scale,imageHeight)
|
||||
--import Graphics.Rendering.OpenGL hiding (Point,translate,scale,imageHeight)
|
||||
import Graphics.GL.Core45
|
||||
|
||||
-- I am not sure if this assumes that the shader is constructed directly before
|
||||
-- the texture is added...
|
||||
addTexture' :: String -> FullShader' -> IO FullShader'
|
||||
addTexture' = addTexture2D 3 GL_LINEAR_MIPMAP_LINEAR GL_LINEAR
|
||||
addTexture :: String -> FullShader' -> IO FullShader'
|
||||
addTexture = addTexture2D 3 GL_LINEAR_MIPMAP_LINEAR GL_LINEAR
|
||||
|
||||
vaddTextureNoFilter' :: String -> FullShader' -> IO FullShader'
|
||||
vaddTextureNoFilter' = addTexture2D 1 GL_NEAREST GL_NEAREST
|
||||
--vaddTextureNoFilter' = addTexture2D 3 ((Linear',Just Linear') , Linear')
|
||||
vaddTextureNoFilter :: String -> FullShader' -> IO FullShader'
|
||||
vaddTextureNoFilter = addTexture2D 1 GL_NEAREST GL_NEAREST
|
||||
|
||||
addTexture2D :: GLint -- number mipmap levels
|
||||
-- -> ((TextureFilter,Maybe TextureFilter),TextureFilter)
|
||||
addTexture2D
|
||||
:: GLint -- number of mipmap levels
|
||||
-> GLenum -- minfilter
|
||||
-> GLenum -- magfilter
|
||||
-> String -> FullShader' -> IO FullShader'
|
||||
-> String -- path to image
|
||||
-> FullShader' -> IO FullShader'
|
||||
addTexture2D nlev minfilt magfilt texpath shad = do
|
||||
Right cmap <- readImage texpath
|
||||
let texdata = convertRGBA8 cmap
|
||||
@@ -54,8 +54,8 @@ addTexture2D nlev minfilt magfilt texpath shad = do
|
||||
-- | for transforming a 256x256 image containing 64 tiles of 16x16 pixels into
|
||||
-- an image that was directly readable by glTexSubImage3D, used the
|
||||
-- transformation tilesToLine 8 128 on the underlying pixels.
|
||||
addTextureArray' :: String -> FullShader' -> IO FullShader'
|
||||
addTextureArray' texturePath shad = do
|
||||
addTextureArray :: String -> FullShader' -> IO FullShader'
|
||||
addTextureArray texturePath shad = do
|
||||
err <- glGetError
|
||||
print err
|
||||
Right cmap <- readImage texturePath
|
||||
@@ -80,12 +80,10 @@ tilesToLine
|
||||
-> [a]
|
||||
tilesToLine n w = concat . concat . transpose . chunksOf n . chunksOf w
|
||||
|
||||
addUniforms' :: [String] -> FullShader' -> IO FullShader'
|
||||
addUniforms' uniStrings shad = do foldM addUniform' shad uniStrings
|
||||
addUniforms :: [String] -> FullShader' -> IO FullShader'
|
||||
addUniforms uniStrings shad = do foldM addUniform shad uniStrings
|
||||
|
||||
addUniform' :: FullShader' -> String -> IO FullShader'
|
||||
addUniform' shad unistr = BS.useAsCString (pack unistr) $ \cstr -> do
|
||||
addUniform :: FullShader' -> String -> IO FullShader'
|
||||
addUniform shad unistr = BS.useAsCString (pack unistr) $ \cstr -> do
|
||||
loc <- glGetUniformLocation (_shadProg' shad) cstr
|
||||
return $ shad & shadUnis' %~ (V.++ V.fromList [loc])
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user