Merge pull request #45 from SolitudeSF/user

User shaders
pull/47/head
Alexey Kutepov 5 years ago committed by GitHub
commit 750044855c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -20,8 +20,8 @@ proc readShader(file: string): Shader =
const
isDebug = not (defined(danger) or defined(release))
vertexShader = readShader "boomer.vs"
fragmentShader = readShader "boomer.fs"
defaultVertexShader = readShader "vert.glsl"
defaultFragmentShader = readShader "frag.glsl"
proc newShader(shader: Shader, kind: GLenum): GLuint =
result = glCreateShader(kind)
@ -78,11 +78,9 @@ proc draw(screenshot: Image, camera: var Camera, shader, vao, texture: GLuint) =
proc main() =
var config = defaultConfig
let configFile = block:
if paramCount() > 0:
paramStr(1)
else:
getConfigDir() / "boomer" / "config"
let
boomerDir = getConfigDir() / "boomer"
configFile = boomerDir / "config"
if existsFile configFile:
config = loadConfig(configFile)
@ -91,6 +89,21 @@ proc main() =
echo "Using config: ", config
let customVertexShaderPath = boomerDir / "vert.glsl"
let customFragmentShaderPath = boomerDir / "frag.glsl"
var vertexShader: Shader = block:
if existsFile customVertexShaderPath:
readShader customVertexShaderPath
else:
defaultVertexShader
var fragmentShader = block:
if existsFile customFragmentShaderPath:
readShader customFragmentShaderPath
else:
defaultFragmentShader
# Fetching pixel data from X
var display = XOpenDisplay(nil)
@ -144,7 +157,7 @@ proc main() =
var wmName = "boomer"
var wmClass = "Boomer"
var hints = TXClassHint(res_name: wmName, res_class: wmClass)
discard XStoreName(display, win, wmName)
discard XSetClassHint(display, win, addr(hints))

@ -39,7 +39,10 @@ macro parseObject(obj: typed, key, val: string) =
proc loadConfig*(filePath: string): Config =
result = defaultConfig
for line in filePath.lines:
for rawLine in filePath.lines:
let line = rawLine.strip
if line.len > 0 and line[0] == '#':
continue
let pair = line.split('=', 1)
let key = pair[0].strip
let value = pair[1].strip

Loading…
Cancel
Save