mirror of
https://github.com/bloeys/nterm.git
synced 2025-12-29 14:38:19 +00:00
Running window
This commit is contained in:
10
go.mod
10
go.mod
@ -1,3 +1,13 @@
|
|||||||
module github.com/bloeys/nterm
|
module github.com/bloeys/nterm
|
||||||
|
|
||||||
go 1.18
|
go 1.18
|
||||||
|
|
||||||
|
require github.com/bloeys/nmage v0.11.12
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/bloeys/assimp-go v0.4.2 // indirect
|
||||||
|
github.com/bloeys/gglm v0.3.1 // indirect
|
||||||
|
github.com/go-gl/gl v0.0.0-20211025173605-bda47ffaa784 // indirect
|
||||||
|
github.com/inkyblackness/imgui-go/v4 v4.3.0 // indirect
|
||||||
|
github.com/veandco/go-sdl2 v0.4.10 // indirect
|
||||||
|
)
|
||||||
|
|||||||
19
go.sum
Executable file
19
go.sum
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
github.com/bloeys/assimp-go v0.4.2 h1:ArVK74BCFcTO/rCGj2NgZG9xtbjnJdEn5npIeJx1Z04=
|
||||||
|
github.com/bloeys/assimp-go v0.4.2/go.mod h1:my3yRxT7CfOztmvi+0svmwbaqw0KFrxaHxncoyaEIP0=
|
||||||
|
github.com/bloeys/gglm v0.3.1 h1:Sy9upW7SBsBfDXrSmEhid3aQ+7J7itej+upwcxOnPMQ=
|
||||||
|
github.com/bloeys/gglm v0.3.1/go.mod h1:qwJQ0WzV191wAMwlGicbfbChbKoSedMk7gFFX6GnyOk=
|
||||||
|
github.com/bloeys/nmage v0.11.12 h1:b41h8uPxr2OITwt4Np/rHLlUWtMKwza2eqjNVuJ/ITk=
|
||||||
|
github.com/bloeys/nmage v0.11.12/go.mod h1:4h2tKtMvk9ab8r/+rem4QonPXEBTho6VWvpCMm0M6iM=
|
||||||
|
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
||||||
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/go-gl/gl v0.0.0-20211025173605-bda47ffaa784 h1:1Zi56D0LNfvkzM+BdoxKryvUEdyWO7LP8oRT+oSYJW0=
|
||||||
|
github.com/go-gl/gl v0.0.0-20211025173605-bda47ffaa784/go.mod h1:9YTyiznxEY1fVinfM7RvRcjRHbw2xLBJ3AAGIT0I4Nw=
|
||||||
|
github.com/inkyblackness/imgui-go/v4 v4.3.0 h1:iyAzqWXq/dG5+6ckDPhGivtrIo6AywGQMvENKzun04s=
|
||||||
|
github.com/inkyblackness/imgui-go/v4 v4.3.0/go.mod h1:g8SAGtOYUP7rYaOB2AsVKCEHmPMDmJKgt4z6d+flhb0=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
||||||
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
|
github.com/veandco/go-sdl2 v0.4.10 h1:8QoD2bhWl7SbQDflIAUYWfl9Vq+mT8/boJFAUzAScgY=
|
||||||
|
github.com/veandco/go-sdl2 v0.4.10/go.mod h1:OROqMhHD43nT4/i9crJukyVecjPNYYuCofep6SNiAjY=
|
||||||
75
main.go
75
main.go
@ -1,5 +1,76 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
func main() {
|
import (
|
||||||
println("Hi!")
|
"github.com/bloeys/nmage/engine"
|
||||||
|
"github.com/bloeys/nmage/input"
|
||||||
|
"github.com/bloeys/nmage/renderer/rend3dgl"
|
||||||
|
nmageimgui "github.com/bloeys/nmage/ui/imgui"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ engine.Game = &program{}
|
||||||
|
|
||||||
|
type program struct {
|
||||||
|
shouldRun bool
|
||||||
|
win *engine.Window
|
||||||
|
imguiInfo nmageimgui.ImguiInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *program) Init() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *program) Start() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *program) FrameStart() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *program) Update() {
|
||||||
|
|
||||||
|
if input.IsQuitClicked() {
|
||||||
|
p.shouldRun = false
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *program) Render() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *program) FrameEnd() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (g *program) GetWindow() *engine.Window {
|
||||||
|
return g.win
|
||||||
|
}
|
||||||
|
|
||||||
|
func (g *program) GetImGUI() nmageimgui.ImguiInfo {
|
||||||
|
return g.imguiInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *program) ShouldRun() bool {
|
||||||
|
return p.shouldRun
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *program) Deinit() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
|
||||||
|
win, err := engine.CreateOpenGLWindowCentered("nTerm", 1280, 720, engine.WindowFlags_ALLOW_HIGHDPI|engine.WindowFlags_RESIZABLE, rend3dgl.NewRend3DGL())
|
||||||
|
if err != nil {
|
||||||
|
panic("Failed to create window. Err: " + err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
p := &program{
|
||||||
|
shouldRun: true,
|
||||||
|
win: win,
|
||||||
|
imguiInfo: nmageimgui.NewImGUI(),
|
||||||
|
}
|
||||||
|
|
||||||
|
engine.Run(p)
|
||||||
}
|
}
|
||||||
|
|||||||
13
res/shaders/imgui.frag.glsl
Executable file
13
res/shaders/imgui.frag.glsl
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#version 410
|
||||||
|
|
||||||
|
uniform sampler2D Texture;
|
||||||
|
|
||||||
|
in vec2 Frag_UV;
|
||||||
|
in vec4 Frag_Color;
|
||||||
|
|
||||||
|
out vec4 Out_Color;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
Out_Color = vec4(Frag_Color.rgb, Frag_Color.a * texture(Texture, Frag_UV.st).r);
|
||||||
|
}
|
||||||
17
res/shaders/imgui.vert.glsl
Executable file
17
res/shaders/imgui.vert.glsl
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#version 410
|
||||||
|
|
||||||
|
uniform mat4 ProjMtx;
|
||||||
|
|
||||||
|
in vec2 Position;
|
||||||
|
in vec2 UV;
|
||||||
|
in vec4 Color;
|
||||||
|
|
||||||
|
out vec2 Frag_UV;
|
||||||
|
out vec4 Frag_Color;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
Frag_UV = UV;
|
||||||
|
Frag_Color = Color;
|
||||||
|
gl_Position = ProjMtx * vec4(Position.xy, 0, 1);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user