From c2996da666d92cf2c822b17f80f997425299cf88 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 14 Dec 2018 23:42:55 -0600 Subject: [PATCH] board rendering working --- christmas_proj | Bin 211640 -> 257552 bytes data/progs/test.lgt | 9 ++- data/shaders/board.frag | 11 +++ data/shaders/board.vert | 16 ++++ src/board/board.nim | 168 ++++++++++++++++++++++++++++++++++++++++ src/christmas_proj.nim | 39 +++++----- src/lang/ast.nim | 25 +++--- src/lang/lexer.nim | 36 ++++++--- src/lang/parser.nim | 59 ++++++++------ src/lang/tokens.nim | 17 +++- src/lang/types.nim | 3 +- 11 files changed, 317 insertions(+), 66 deletions(-) create mode 100644 data/shaders/board.frag create mode 100644 data/shaders/board.vert create mode 100644 src/board/board.nim diff --git a/christmas_proj b/christmas_proj index b8d76b0665683e8992ff1939def2cd391f90b42a..8bf1cf3c1e8c1e0a4d17aa0c6421f1fab9de6df9 100755 GIT binary patch literal 257552 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

bAsU51^ zggzB9*V>sWL!2WU_HgG0l*M5qDwt`=I)!3d*Qx5FDT_X-Ga8^Q9br#5-YdgarQewd z=-Sz^k#`w0r9wI+)SA=;T+P8DWZhD3l{nZZqqn0Pac$W+<)|w{4YS`;o$3{1ld4QB zOUkF!DRgoz_!o?}>OAdQu^a8#qW(aBQlFA%Oy+PW&Q_yzh2(%OXPHbUJki$qLXBCo zyb&n|9Ff?pwq#Nz;eIugAOc$uyl_J%SWm#sDpkr{)0FCyWtYKhuBzm9Ka50h#zsz9 zt@$EvhYExZWY~C2DSDNeX0&1shN_ufQJ2%fP8sg2$19p>tL}1`9nM}tmWT6OeUf)3 zJAyS8XRng;X+4Ulr)?`|ik?P8X91UIi-BAMZrBDYtvXoJg40)fPM6hGjm5gN9&3i| z`b43_2`55vdEO_FR`jW8qgzwU$R=yaYZe+4UnX4+D($F+8UIAhDif{J>eWK5@= z-J&jN;4-Z;IjziqzsARHPKVJHhcD|Aky_8lJG-f9tpXt- zEUd}WjukfUfT3vq8gtNPBA1whWFw!%Po>oywwMIm!bdW3q1|b0(S4KML4@OWx85-+Y*jBa>f~BNt@T{la&D32_UL%`c$as zY==|^t4X2hB&}ViwP1yaqoLFYmsEALqcl0Gh? qOq6g<)IRr&;?Y6y&>dA&((Fl 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 literal 211640 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

PoNm#v+!uZYI#-g{ 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

>*#VyAXT^P@RrHvG@-*2iJN5Z| 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 L1FajpeeL{Th= board.width or y >= board.height: + 0.GLuint + else: + board.data[][x + y * board.width] + +proc SetCol*(board: LightBoard, x, y: int, val: GLuint) = + if x < 0 or y < 0 or x >= board.width or y >= board.height: + return + + board.data[][x + y * board.width] = val + let + r = ((val shr 16) and 0xff).GLfloat / 255.GLfloat + g = ((val shr 8) and 0xff).GLfloat / 255.GLfloat + b = ((val shr 0) and 0xff).GLfloat / 255.GLfloat + board.colors[][x * 4 + y * board.width * 4 + 0] = r + board.colors[][x * 4 + y * board.width * 4 + 1] = g + board.colors[][x * 4 + y * board.width * 4 + 2] = b + +func GetA*(board: LightBoard, x, y: int): GLuint = + if x < 0 or y < 0 or x >= board.width or y >= board.height: + 0.GLuint + else: + (board.data[][x + y * board.width] shr 24) and 0xff + +func GetR*(board: LightBoard, x, y: int): GLuint = + if x < 0 or y < 0 or x >= board.width or y >= board.height: + 0.GLuint + else: + (board.data[][x + y * board.width] shr 16) and 0xff + +func GetG*(board: LightBoard, x, y: int): GLuint = + if x < 0 or y < 0 or x >= board.width or y >= board.height: + 0.GLuint + else: + (board.data[][x + y * board.width] shr 8) and 0xff + +func GetB*(board: LightBoard, x, y: int): GLuint = + if x < 0 or y < 0 or x >= board.width or y >= board.height: + 0.GLuint + else: + (board.data[][x + y * board.width] shr 0) and 0xff + +proc SetA*(board: LightBoard, x, y: int, val: GLuint) = + if x < 0 or y < 0 or x >= board.width or y >= board.height: + return + + let mval = val mod 256 + board.data[][x + y * board.width] = board.data[][x + y * board.width] and 0x00ffffff.GLuint + board.data[][x + y * board.width] = board.data[][x + y * board.width] or (mval shl 24) + +proc SetR*(board: LightBoard, x, y: int, val: GLuint) = + if x < 0 or y < 0 or x >= board.width or y >= board.height: + return + + let mval = val mod 256 + board.data[][x + y * board.width] = board.data[][x + y * board.width] and 0xff00ffff.GLuint + board.data[][x + y * board.width] = board.data[][x + y * board.width] or (mval shl 16) + board.colors[][x * 4 + y * board.width * 4 + 0] = mval.GLfloat / 256.GLfloat + +proc SetG*(board: LightBoard, x, y: int, val: GLuint) = + if x < 0 or y < 0 or x >= board.width or y >= board.height: + return + + let mval = val mod 256 + board.data[][x + y * board.width] = board.data[][x + y * board.width] and 0xffff00ff.GLuint + board.data[][x + y * board.width] = board.data[][x + y * board.width] or (mval shl 8) + board.colors[][x * 4 + y * board.width * 4 + 1] = mval.GLfloat / 256.GLfloat + +proc SetB*(board: LightBoard, x, y: int, val: GLuint) = + if x < 0 or y < 0 or x >= board.width or y >= board.height: + return + + let mval = val mod 256 + board.data[][x + y * board.width] = board.data[][x + y * board.width] and 0xffffff00.GLuint + board.data[][x + y * board.width] = board.data[][x + y * board.width] or (mval shl 0) + board.colors[][x * 4 + y * board.width * 4 + 2] = mval.GLfloat / 256.GLfloat + +proc InitRendering*(board: LightBoard) = + glGenVertexArrays(1, board.vertexArrayObject.addr) + glBindVertexArray(board.vertexArrayObject) + + var vertex_data: array[8, GLfloat] = [ + 0'f32, 0'f32, + 0'f32, 1'f32, + 1'f32, 1'f32, + 1'f32, 0'f32, + ] + glGenBuffers(1, board.vertexBufferObject.addr) + glBindBuffer(GL_ARRAY_BUFFER, board.vertexBufferObject) + glBufferData(GL_ARRAY_BUFFER, vertex_data.sizeof, vertex_data.addr, GL_STATIC_DRAW) + glEnableVertexAttribArray(0) + glVertexAttribPointer(0, 2, cGL_FLOAT, GL_FALSE, 8.GLsizei, nil) + + glGenBuffers(1, board.colorBufferObject.addr) + glBindBuffer(GL_ARRAY_BUFFER, board.colorBufferObject) + glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * 4 * board.width * board.height, board.colors.addr, GL_DYNAMIC_DRAW) + glEnableVertexAttribArray(1) + glVertexAttribDivisor(1, 1) + glVertexAttribPointer(1, 4, cGL_FLOAT, GL_FALSE, 16.GLsizei, nil) + + var index_data: array[6, GLubyte] = [ + 0.GLubyte, 1.GLubyte, 2.GLubyte, 0.GLubyte, 2.GLubyte, 3.GLubyte + ] + glGenBuffers(1, board.indexBufferObject.addr) + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, board.indexBufferObject) + glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(GLubyte) * 6, index_data.addr, GL_STATIC_DRAW) + + glBindVertexArray(0) + + let vertex_shader = glutils.CreateShader(glutils.stVertex, "./data/shaders/board.vert") + let fragment_shader = glutils.CreateShader(glutils.stFragment, "./data/shaders/board.frag") + let program = glutils.LinkProgram(vertex_shader, fragment_shader) + glUseProgram(program) + + let u_board_width = glGetUniformLocation(program, "board_width") + let u_board_height = glGetUniformLocation(program, "board_height") + let u_proj = glGetUniformLocation(program, "u_proj") + glUniform1i(u_board_width, board.width.GLint) + glUniform1i(u_board_height, board.height.GLint) + + var proj_mat: array[9, GLfloat] = [ + (2.GLfloat / board.width.GLfloat).GLfloat, 0.GLfloat, 0.GLfloat, + 0.GLfloat, (-2.GLfloat / board.height.GLfloat).GLfloat, 0.GLfloat, + -1.GLfloat, 1.GLfloat, 1.GLfloat + ] + glUniformMatrix3fv(u_proj, 1.GLsizei, GL_FALSE, proj_mat[0].addr) + +proc RebufferColors*(board: LightBoard) = + glBindBuffer(GL_ARRAY_BUFFER, board.colorBufferObject) + glBufferSubData(GL_ARRAY_BUFFER, 0.GLintptr, sizeof(GLfloat) * 4 * board.width * board.height, board.colors[].addr) + glBindBuffer(GL_ARRAY_BUFFER, 0) + +proc Render*(board: LightBoard) = + glBindVertexArray(board.vertexArrayObject) + glDrawElementsInstanced(GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, nil, (board.width * board.height).GLsizei) + glBindVertexArray(0) \ No newline at end of file diff --git a/src/christmas_proj.nim b/src/christmas_proj.nim index 2267a2b..49b211e 100644 --- a/src/christmas_proj.nim +++ b/src/christmas_proj.nim @@ -1,6 +1,7 @@ import os import sequtils import opengl +import random import glfw3 as glfw import gfx/window as gfx_window import gfx/glutils as glutils @@ -10,18 +11,16 @@ import lang/lexer as lexer import lang/parser as parser import lang/tokens +import board/board + proc key_down(window: glfw.Window, key, scancode, action, modifier: cint) {.cdecl.} = if key == glfw.KEY_ESCAPE and action == glfw.PRESS: glfw.SetWindowShouldClose(window, glfw.TRUE) proc main2() = let window = gfxWindow.NewWindow(800, 600, "ASDF") - window.SetKeyCallback(key_down) - var version = cast[cstring](glGetString(GL_VERSION)) - echo $version - let vertex_shader = glutils.CreateShader(glutils.stVertex, "./data/shaders/basic.vert") let fragment_shader = glutils.CreateShader(glutils.stFragment, "./data/shaders/basic.frag") let program = glutils.LinkProgram(vertex_shader, fragment_shader) @@ -69,28 +68,32 @@ proc main2() = glBindVertexArray(0) + +proc main() = + let window = gfxWindow.NewWindow(1200, 700, "ASDF") + window.SetKeyCallback(key_down) + + let source_code = readFile("data/progs/test.lgt") + let tokens = toSeq(lexer.GenerateTokens(source_code)) + for exp in parser.ParseTokens(tokens): + echo exp + + let board = CreateBoard(256, 256) + board.InitRendering() + while not window.ShouldClose(): glClearColor(0, 0, 0, 1) glClear(GL_COLOR_BUFFER_BIT) - glBindVertexArray(vao) - glDrawElementsInstanced(GL_TRIANGLES, 3.GLsizei, GL_UNSIGNED_INT, nil, 2) - glBindVertexArray(0) + board.SetCol(random.rand(256), random.rand(256), random.rand(0xffffff).GLuint) + + board.RebufferColors() + board.Render() + os.sleep(1) window.Refresh() window.CloseWindow() -proc main() = - let source_code = readFile("data/progs/test.lgt") - let tokens = toSeq(lexer.GenerateTokens(source_code)) - for token in tokens: - echo token - - echo "\n\n\n" - - for exp in parser.ParseTokens(tokens): - echo exp - when isMainModule: main() diff --git a/src/lang/ast.nim b/src/lang/ast.nim index 1836b56..e0fee97 100644 --- a/src/lang/ast.nim +++ b/src/lang/ast.nim @@ -3,16 +3,17 @@ import ./tokens type LightExprType* = enum - leNull = 0, - leVar = 1, - leNumLit = 2, - leOp = 3, - leAssign = 4, - leLabel = 5, - leGoto = 6, - leIf = 7, - leWhile = 8, - leBreak = 9 + leNull = 0, + leVar = 1, + leNumLit = 2, + leOp = 3, + leAssign = 4, + leLabel = 5, + leGoto = 6, + leIf = 7, + leWhile = 8, + leBreak = 9, + leFuncCall = 10, LightExpr* = ref object case kind*: LightExprType @@ -32,6 +33,9 @@ type of leIf, leWhile: condition*: LightExpr body*: seq[LightExpr] + of leFuncCall: + func_name*: string + params*: seq[LightExpr] else: discard @@ -46,4 +50,5 @@ proc `$`*(exp: LightExpr): string = of leIf: "If[" & $exp.condition & " -> " & $exp.body & "]" of leWhile: "While[" & $exp.condition & " -> " & $exp.body & "]" of leBreak: "Break" + of leFuncCall: "FuncCall[" & exp.func_name & ", " & $exp.params & "]" else: "" \ No newline at end of file diff --git a/src/lang/lexer.nim b/src/lang/lexer.nim index 197acb7..a5acc32 100644 --- a/src/lang/lexer.nim +++ b/src/lang/lexer.nim @@ -6,34 +6,46 @@ import ./types import ./tokens iterator Generate_tokens*(source: string): LightToken = - for token, is_sep in strutils.tokenize(source, {' ', '\n', ';', '\t', '='}): + for token, is_sep in strutils.tokenize(source, {' ', '\n', ';', '\t', '=', ',', '(', ')'}): if is_sep: - if token.contains({'\n', ';'}): - yield LightToken(kind: ltExprDelim) if token.contains({'='}): yield LightToken(kind: ltEq) + if token.contains({','}): + yield LightToken(kind: ltParamDelim) + if token.contains({'('}): + yield LightToken(kind: ltParamStart) + if token.contains({')'}): + yield LightToken(kind: ltParamEnd) + if token.contains({'\n', ';'}): + yield LightToken(kind: ltExprDelim) continue if token.startsWith('$'): - let varString = token[1 .. ^1] + let varString = token[1 .. ^1].toLowerAscii var varName: LightVariable if varString == "": raise newException(IOError, "Expected variable name") else: - if varString == "MEM_1": varName = var1 - elif varString == "MEM_2": varName = var2 - elif varString == "MEM_3": varName = var3 - elif varString == "MEM_4": varName = var4 - elif varString == "MEM_5": varName = var5 - elif varString == "MEM_6": varName = var6 - elif varString == "MEM_7": varName = var7 - elif varString == "MEM_8": varName = var8 + if varString == "mem_1": varName = var1 + elif varString == "mem_2": varName = var2 + elif varString == "mem_3": varName = var3 + elif varString == "mem_4": varName = var4 + elif varString == "mem_5": varName = var5 + elif varString == "mem_6": varName = var6 + elif varString == "mem_7": varName = var7 + elif varString == "mem_8": varName = var8 + elif varString == "pos_x": varName = var9 + elif varString == "pos_y": varName = var10 else: raise newException(IOError, "Invalid variable name.") yield LightToken(kind: ltVar, var_name: varName) + elif token.startsWith('!'): + let funcName = token[1..^1].toLowerAscii + yield LightToken(kind: ltFunc, func_name: funcName) + elif token == "=": yield LightToken(kind: ltEq) diff --git a/src/lang/parser.nim b/src/lang/parser.nim index 6de13b5..b040077 100644 --- a/src/lang/parser.nim +++ b/src/lang/parser.nim @@ -6,33 +6,33 @@ import ./ast import ../utils/iter type - LightParser* = object + LightParser = object tokens: Iter[LightToken] -func CreateParser*(tokens: Iter[LightToken]): LightParser = +func CreateParser(tokens: Iter[LightToken]): LightParser = LightParser(tokens: tokens) -func CreateParser*(tokens: seq[LightToken]): LightParser = +func CreateParser(tokens: seq[LightToken]): LightParser = CreateParser(CreateIter[LightToken](tokens, LightToken(kind: ltNull))) -func NextExpr*(parser: LightParser, prev: LightExpr, stop_at: set[LightTokenType]): LightExpr +func NextExpr(parser: LightParser, prev: LightExpr, stop_at: set[LightTokenType]): LightExpr -func Parse_block(tokens: Iter[LightToken]): seq[LightExpr] = +func Parse_block(tokens: Iter[LightToken], sep, endd: LightTokenType): seq[LightExpr] = result = @[] var last = tokens.Current - if last.kind == ltBlockEnd: + if last.kind == endd: tokens.Step() return var parser = CreateParser(tokens) - while last.kind != ltBlockEnd: - let p = parser.NextExpr(LightExpr(kind: leNull), {ltExprDelim, ltBlockEnd}) + while last.kind != endd: + let p = parser.NextExpr(LightExpr(kind: leNull), {sep, endd}) if p.kind != leNull: result.add(p) last = parser.tokens.Current parser.tokens.Step() -func NextExpr*(parser: LightParser, prev: LightExpr, stop_at: set[LightTokenType]): LightExpr = +func NextExpr(parser: LightParser, prev: LightExpr, stop_at: set[LightTokenType]): LightExpr = let curr = parser.tokens.Current if curr.kind in stop_at: @@ -62,13 +62,14 @@ func NextExpr*(parser: LightParser, prev: LightExpr, stop_at: set[LightTokenType if prev.kind != leVar: raise newException(ValueError, "Expected variable on the left of assignment operator") - let next = parser.NextExpr(LightExpr(kind: leNull), stop_at) + else: + let next = parser.NextExpr(LightExpr(kind: leNull), stop_at) - return LightExpr( - kind: leAssign, - variable: prev.var_name, - expression: next - ) + return LightExpr( + kind: leAssign, + variable: prev.var_name, + expression: next + ) elif curr.kind == ltLabel: return LightExpr( @@ -80,16 +81,17 @@ func NextExpr*(parser: LightParser, prev: LightExpr, stop_at: set[LightTokenType let next = parser.tokens.Current if next.kind != ltLabel: raise newException(ValueError, "Expected label after goto") - - return LightExpr( - kind: leGoto, - label: next.label_name - ) + + else: + return LightExpr( + kind: leGoto, + label: next.label_name + ) elif curr.kind == ltIf: let condition = parser.NextExpr(LightExpr(kind: leNull), {ltBlockStart}) parser.tokens.Step() - let body = Parse_block(parser.tokens) + let body = Parse_block(parser.tokens, ltExprDelim, ltBlockEnd) return LightExpr( kind: leIf, @@ -100,7 +102,7 @@ func NextExpr*(parser: LightParser, prev: LightExpr, stop_at: set[LightTokenType elif curr.kind == ltWhile: let condition = parser.NextExpr(LightExpr(kind: leNull), {ltBlockStart}) parser.tokens.Step() - let body = Parse_block(parser.tokens) + let body = Parse_block(parser.tokens, ltExprDelim, ltBlockEnd) return LightExpr( kind: leWhile, @@ -112,6 +114,19 @@ func NextExpr*(parser: LightParser, prev: LightExpr, stop_at: set[LightTokenType return LightExpr( kind: leBreak ) + + elif curr.kind == ltFunc: + if parser.tokens.Current.kind != ltParamStart: + raise newException(ValueError, "Expected parameter list after function call") + + parser.tokens.Step() + let params = Parse_block(parser.tokens, ltParamDelim, ltParamEnd) + + return LightExpr( + kind: leFuncCall, + func_name: curr.func_name, + params: params + ) iterator Parse_tokens*(tokens: seq[LightToken]): LightExpr = var parser = CreateParser(tokens) diff --git a/src/lang/tokens.nim b/src/lang/tokens.nim index 7fd56ea..9a9cdcb 100644 --- a/src/lang/tokens.nim +++ b/src/lang/tokens.nim @@ -6,8 +6,12 @@ type ltVar, ltNum, ltExprDelim, ltLabel, ltGoto, - ltIf, ltWhile, ltBlockStart, ltBlockEnd, + ltIf, ltWhile, + ltBlockStart, ltBlockEnd, ltBreak, + ltFunc, + ltParamStart, ltParamEnd, + ltParamDelim, ltOp, ltEq LightToken* = ref object @@ -18,6 +22,8 @@ type value*: LightInt of ltLabel: label_name*: string + of ltFunc: + func_name*: string of ltOp: operation*: LightOperation else: @@ -33,6 +39,8 @@ func `$`*(variable: LightVariable): string = of var6: "MEM_6" of var7: "MEM_7" of var8: "MEM_8" + of var9: "POS_X" + of var10: "POS_Y" proc `$`*(token: LightToken): string = return @@ -49,4 +57,9 @@ proc `$`*(token: LightToken): string = of ltBreak: "BreakToken" of ltBlockStart: "BlockStartToken" of ltBlockEnd: "BlockEndToken" - of ltOp: "OpeartionToken[" & $token.operation & "]" \ No newline at end of file + of ltFunc: "FunctionToken[" & token.func_name & "]" + of ltParamStart: "ParamStartToken" + of ltParamEnd: "ParamEndToken" + of ltParamDelim: "ParamDelimToken" + of ltOp: "OpeartionToken[" & $token.operation & "]" + else: "UndefinedToken" \ No newline at end of file diff --git a/src/lang/types.nim b/src/lang/types.nim index 2ba8c9a..847ff5d 100644 --- a/src/lang/types.nim +++ b/src/lang/types.nim @@ -1,7 +1,8 @@ type LightVariable* = enum var1 = 0, var2 = 1, var3 = 2, var4 = 3, - var5 = 4, var6 = 5, var7 = 6, var8 = 7 + var5 = 4, var6 = 5, var7 = 6, var8 = 7, + var9 = 8, var10 = 9 LightOperation* = enum loAdd, loSub, loMul, loDiv, loMod, -- 2.25.1