Fix everything
This commit is contained in:
parent
9efb19a204
commit
de15812872
6 changed files with 51 additions and 53 deletions
|
|
@ -4,40 +4,55 @@ import glfw, glew
|
|||
import perf
|
||||
import common
|
||||
|
||||
proc frameBufferSize*(window: ptr Window): tuple[w, h: int32] =
|
||||
var fbWidth, fbHeight: cint
|
||||
window.getFramebufferSize(fbWidth.addr, fbHeight.addr)
|
||||
|
||||
return (w: fbWidth, h: fbHeight)
|
||||
|
||||
proc size*(window: ptr Window): tuple[w, h: int32] =
|
||||
var width, height: cint
|
||||
window.getWindowSize(width.addr, height.addr)
|
||||
|
||||
return (w: width, h: height)
|
||||
|
||||
proc main =
|
||||
var c = DefaultOpenglWindowConfig
|
||||
c.version = glv32
|
||||
c.title = "Minimal Nim-GLFW example"
|
||||
c.forwardCompat = true
|
||||
c.profile = opCoreProfile
|
||||
c.debugContext = false
|
||||
|
||||
let
|
||||
fps = newGraph(RenderStyle.FPS, "Frame Time")
|
||||
cpuGraph = newGraph(RenderStyle.MS, "CPU Time")
|
||||
|
||||
discard glfw.init()
|
||||
|
||||
glfw.initialize()
|
||||
var w = newWindow(c)
|
||||
initHint(CONTEXT_VERSION_MAJOR, 3)
|
||||
initHint(CONTEXT_VERSION_MINOR, 2)
|
||||
when defined(macosx):
|
||||
initHint(OPENGL_FORWARD_COMPAT, 1)
|
||||
initHint(OPENGL_PROFILE, OPENGL_COMPAT_PROFILE)
|
||||
else:
|
||||
initHint(OPENGL_PROFILE, OPENGL_CORE_PROFILE)
|
||||
|
||||
var w = createWindow(800, 600, "Minimal Nim-GLFW Example", nil, nil)
|
||||
w.makeContextCurrent()
|
||||
swapInterval(0)
|
||||
setTime(0)
|
||||
|
||||
glew.init()
|
||||
discard glew.init()
|
||||
let vg = nanovg.newContext()
|
||||
vg.loadFont(currentSourceDir()/"resources/Roboto-Regular.ttf", "sans")
|
||||
vg.loadFont(currentSourceDir()/"resources/Roboto-Bold.ttf", "sans-bold")
|
||||
vg.loadFont(currentSourceDir()/"resources/fa.ttf", "fa")
|
||||
var prevt = getTime()
|
||||
|
||||
while not w.shouldClose():
|
||||
while not w.windowShouldClose().bool:
|
||||
let t = getTime()
|
||||
let dt = t - prevt
|
||||
prevt = t
|
||||
|
||||
#let pos = w.cursorPos()
|
||||
let fbSize = w.frameBufferSize()
|
||||
|
||||
glViewPort(0, 0, fbSize.w, fbSize.h)
|
||||
|
||||
glCullFace(GL_BACK)
|
||||
glFrontFace(GL_CCW)
|
||||
glClearColor(0.3, 0.3, 0.32, 1.0)
|
||||
|
|
@ -63,7 +78,7 @@ proc main =
|
|||
cpuGraph.update(cpuTime)
|
||||
waitEvents()
|
||||
|
||||
w.destroy()
|
||||
w.destroyWindow()
|
||||
vg.delete()
|
||||
glfw.terminate()
|
||||
|
||||
|
|
|
|||
|
|
@ -66,27 +66,16 @@ proc main() =
|
|||
|
||||
discard sdl.init(sdl.INIT_EVERYTHING.uint32)
|
||||
discard sdl.glSetAttribute(sdl.GL_STENCIL_SIZE, 1)
|
||||
discard sdl.glSetAttribute(sdl.GL_CONTEXT_PROFILE_MASK, sdl.GL_CONTEXT_PROFILE_CORE.cint)
|
||||
discard sdl.glSetAttribute(sdl.GL_CONTEXT_FLAGS, sdl.GL_CONTEXT_FORWARD_COMPATIBLE_FLAG.cint)
|
||||
discard sdl.glSetAttribute(sdl.GL_CONTEXT_MAJOR_VERSION, 3)
|
||||
discard sdl.glSetAttribute(sdl.GL_CONTEXT_MINOR_VERSION, 2)
|
||||
|
||||
when defined(macosx):
|
||||
discard sdl.glSetAttribute(sdl.GL_CONTEXT_PROFILE_MASK, sdl.GL_CONTEXT_PROFILE_CORE.cint)
|
||||
discard sdl.glSetAttribute(sdl.GL_CONTEXT_FLAGS, sdl.GL_CONTEXT_FORWARD_COMPATIBLE_FLAG.cint)
|
||||
discard sdl.glSetAttribute(sdl.GL_CONTEXT_MAJOR_VERSION, 3)
|
||||
discard sdl.glSetAttribute(sdl.GL_CONTEXT_MINOR_VERSION, 2)
|
||||
|
||||
var w, h: cint
|
||||
|
||||
# let
|
||||
# vert = gpu.loadShader(gpu.VERTEX_SHADER, currentSourceDir()/"resources/untextured.vert")
|
||||
# frag = gpu.loadShader(gpu.FRAGMENT_SHADER, currentSourceDir()/"resources/untextured.frag")
|
||||
# program = gpu.linkShaders(vert, frag)
|
||||
|
||||
# glUseProgram(program)
|
||||
|
||||
# let
|
||||
# vertLoc = gpu.getAttributeLocation(program, "gpu_Vertex")
|
||||
# colorLoc = gpu.getAttributeLocation(program, "gpu_Color")
|
||||
# mvpLoc = gpu.getUniformLocation(program, "gpu_ModelViewProjectionMatrix")
|
||||
|
||||
let screen = gpu.initRenderer(gpu.RENDERER_OPENGL_3, 640, 480, sdl.WINDOW_ALLOW_HIGHDPI)
|
||||
gpu.setRequiredFeatures(gpu.FEATURE_BASIC_SHADERS)
|
||||
|
||||
|
||||
let vg = nanovg.newContext()
|
||||
discard sdl.glSetSwapInterval(0)
|
||||
|
|
@ -152,4 +141,4 @@ proc main() =
|
|||
vg.delete()
|
||||
gpu.quit()
|
||||
|
||||
main()
|
||||
main()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue