remove old main.go
This commit is contained in:
		
							
								
								
									
										138
									
								
								cmd/main.go.old
									
									
									
									
									
								
							
							
						
						
									
										138
									
								
								cmd/main.go.old
									
									
									
									
									
								
							@@ -1,138 +0,0 @@
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"runtime"
 | 
			
		||||
	"time"
 | 
			
		||||
	"unsafe"
 | 
			
		||||
 | 
			
		||||
	"github.com/Edgaru089/gl01/internal/asset"
 | 
			
		||||
	"github.com/Edgaru089/gl01/internal/render"
 | 
			
		||||
	"github.com/Edgaru089/gl01/internal/world"
 | 
			
		||||
	"github.com/go-gl/gl/all-core/gl"
 | 
			
		||||
	"github.com/go-gl/glfw/v3.3/glfw"
 | 
			
		||||
	"github.com/go-gl/mathgl/mgl32"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	windowWidth  = 800
 | 
			
		||||
	windowHeight = 600
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	runtime.LockOSThread()
 | 
			
		||||
}
 | 
			
		||||
func main() {
 | 
			
		||||
 | 
			
		||||
	asset.InitWorldTextureAtlas()
 | 
			
		||||
 | 
			
		||||
	if err := glfw.Init(); err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
	defer glfw.Terminate()
 | 
			
		||||
 | 
			
		||||
	glfw.WindowHint(glfw.Resizable, 0)
 | 
			
		||||
	glfw.WindowHint(glfw.ContextVersionMajor, 4)
 | 
			
		||||
	glfw.WindowHint(glfw.ContextVersionMinor, 1)
 | 
			
		||||
	glfw.WindowHint(glfw.OpenGLProfile, glfw.OpenGLCoreProfile)
 | 
			
		||||
	glfw.WindowHint(glfw.OpenGLForwardCompatible, 1)
 | 
			
		||||
	win, err := glfw.CreateWindow(windowWidth, windowHeight, "Cube", nil, nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
	win.MakeContextCurrent()
 | 
			
		||||
	glfw.SwapInterval(1)
 | 
			
		||||
 | 
			
		||||
	err = gl.Init()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fmt.Println("OpenGL Version: ", gl.GoStr(gl.GetString(gl.VERSION)))
 | 
			
		||||
 | 
			
		||||
	shader, err := render.NewShader(asset.WorldShaderVert, asset.WorldShaderFrag)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	model := mgl32.Ident4()
 | 
			
		||||
	shader.SetUniformMat4("model", model)
 | 
			
		||||
 | 
			
		||||
	view := mgl32.LookAtV(mgl32.Vec3{3, 3, 3}, mgl32.Vec3{0, 0, 0}, mgl32.Vec3{0, 1, 0})
 | 
			
		||||
	shader.SetUniformMat4("view", view)
 | 
			
		||||
 | 
			
		||||
	projection := mgl32.Perspective(mgl32.DegToRad(45), float32(windowWidth)/float32(windowHeight), 0.1, 10)
 | 
			
		||||
	shader.SetUniformMat4("projection", projection)
 | 
			
		||||
 | 
			
		||||
	// Texture
 | 
			
		||||
	asset.InitWorldTextureAtlas()
 | 
			
		||||
	worldTexture := render.NewTextureRGBA(asset.WorldTextureAtlas.Image)
 | 
			
		||||
	shader.SetUniformTexture("tex", worldTexture)
 | 
			
		||||
 | 
			
		||||
	gl.BindFragDataLocation(shader.Handle(), 0, gl.Str("outputColor\x00"))
 | 
			
		||||
 | 
			
		||||
	var c, cm world.Chunk
 | 
			
		||||
	c.SetBlock(0, 0, 0, 2)
 | 
			
		||||
	c.SetBlock(0, 0, 2, 1)
 | 
			
		||||
	cm.SetChunkID(-1, -1)
 | 
			
		||||
	cm.SetBlock(15, 0, 15, 1)
 | 
			
		||||
	cm.SetBlock(15, 1, 15, 2)
 | 
			
		||||
 | 
			
		||||
	var arr []world.Vertex
 | 
			
		||||
	arr = c.AppendVertex(arr)
 | 
			
		||||
	arr = cm.AppendVertex(arr)
 | 
			
		||||
 | 
			
		||||
	// Vertex Array
 | 
			
		||||
	var vao uint32
 | 
			
		||||
	gl.GenVertexArrays(1, &vao)
 | 
			
		||||
	gl.BindVertexArray(vao)
 | 
			
		||||
 | 
			
		||||
	// Vertex Buffer
 | 
			
		||||
	var vbo uint32
 | 
			
		||||
	gl.GenBuffers(1, &vbo)
 | 
			
		||||
	gl.BindBuffer(gl.ARRAY_BUFFER, vbo)
 | 
			
		||||
	gl.BufferData(gl.ARRAY_BUFFER, int(unsafe.Sizeof(world.Vertex{}))*len(arr), gl.Ptr(arr), gl.STATIC_DRAW)
 | 
			
		||||
 | 
			
		||||
	vertAttrib := uint32(gl.GetAttribLocation(shader.Handle(), gl.Str("vert\x00")))
 | 
			
		||||
	gl.EnableVertexAttribArray(vertAttrib)
 | 
			
		||||
	gl.VertexAttribPointer(vertAttrib, 3, gl.FLOAT, false, int32(unsafe.Sizeof(world.Vertex{})), gl.PtrOffset(int(unsafe.Offsetof(world.Vertex{}.World))))
 | 
			
		||||
 | 
			
		||||
	texCoordAttrib := uint32(gl.GetAttribLocation(shader.Handle(), gl.Str("vertTexCoord\x00")))
 | 
			
		||||
	gl.EnableVertexAttribArray(texCoordAttrib)
 | 
			
		||||
	gl.VertexAttribPointer(texCoordAttrib, 2, gl.FLOAT, false, int32(unsafe.Sizeof(world.Vertex{})), gl.PtrOffset(int(unsafe.Offsetof(world.Vertex{}.Texture))))
 | 
			
		||||
 | 
			
		||||
	gl.Enable(gl.CULL_FACE)
 | 
			
		||||
	gl.Enable(gl.DEPTH_TEST)
 | 
			
		||||
	gl.DepthFunc(gl.LESS)
 | 
			
		||||
	gl.ClearColor(1, 1, 1, 1)
 | 
			
		||||
 | 
			
		||||
	angle := 0.0
 | 
			
		||||
	prevTime := time.Now()
 | 
			
		||||
 | 
			
		||||
	for !win.ShouldClose() {
 | 
			
		||||
 | 
			
		||||
		gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT)
 | 
			
		||||
 | 
			
		||||
		// Angle update
 | 
			
		||||
		angle += time.Since(prevTime).Seconds()
 | 
			
		||||
		prevTime = time.Now()
 | 
			
		||||
 | 
			
		||||
		model = mgl32.HomogRotate3D(float32(angle), mgl32.Vec3{0, 1, 0})
 | 
			
		||||
 | 
			
		||||
		// Render
 | 
			
		||||
		// Shader variable
 | 
			
		||||
		shader.UseProgram()
 | 
			
		||||
		shader.BindTextures()
 | 
			
		||||
		shader.SetUniformMat4("model", model)
 | 
			
		||||
 | 
			
		||||
		gl.BindVertexArray(vao)
 | 
			
		||||
 | 
			
		||||
		//gl.ActiveTexture(gl.TEXTURE1)
 | 
			
		||||
		//gl.BindTexture(gl.TEXTURE_2D, texture)
 | 
			
		||||
 | 
			
		||||
		gl.DrawArrays(gl.TRIANGLES, 0, int32(len(arr)))
 | 
			
		||||
 | 
			
		||||
		win.SwapBuffers()
 | 
			
		||||
		glfw.PollEvents()
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -1,94 +0,0 @@
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"runtime"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/Edgaru089/gl01/internal/render"
 | 
			
		||||
	"github.com/Edgaru089/gl01/internal/util/itype"
 | 
			
		||||
	"github.com/Edgaru089/gl01/internal/world"
 | 
			
		||||
	"github.com/go-gl/gl/all-core/gl"
 | 
			
		||||
	"github.com/go-gl/glfw/v3.3/glfw"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	windowWidth  = 852
 | 
			
		||||
	windowHeight = 480
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	runtime.LockOSThread()
 | 
			
		||||
}
 | 
			
		||||
func main() {
 | 
			
		||||
 | 
			
		||||
	if err := glfw.Init(); err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
	defer glfw.Terminate()
 | 
			
		||||
 | 
			
		||||
	glfw.WindowHint(glfw.Resizable, 0)
 | 
			
		||||
	glfw.WindowHint(glfw.ContextVersionMajor, 4)
 | 
			
		||||
	glfw.WindowHint(glfw.ContextVersionMinor, 1)
 | 
			
		||||
	glfw.WindowHint(glfw.OpenGLProfile, glfw.OpenGLCoreProfile)
 | 
			
		||||
	glfw.WindowHint(glfw.OpenGLForwardCompatible, 1)
 | 
			
		||||
	win, err := glfw.CreateWindow(windowWidth, windowHeight, "Cube", nil, nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
	win.MakeContextCurrent()
 | 
			
		||||
	glfw.SwapInterval(1)
 | 
			
		||||
 | 
			
		||||
	err = gl.Init()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fmt.Println("OpenGL Version: ", gl.GoStr(gl.GetString(gl.VERSION)))
 | 
			
		||||
 | 
			
		||||
	var c, cm world.Chunk
 | 
			
		||||
	c.SetBlock(0, 0, 0, 2)
 | 
			
		||||
	c.SetBlock(1, 0, 2, 1)
 | 
			
		||||
	c.SetBlock(2, 0, 2, 3)
 | 
			
		||||
	cm.SetChunkID(-1, -1)
 | 
			
		||||
	cm.SetBlock(15, 0, 15, 5)
 | 
			
		||||
	cm.SetBlock(15, 1, 15, 6)
 | 
			
		||||
 | 
			
		||||
	world.DefaultWorld.SetChunk(0, 0, &c)
 | 
			
		||||
	world.DefaultWorld.SetChunk(-1, -1, &cm)
 | 
			
		||||
 | 
			
		||||
	var rotY, rotZ float32 = 135, -45
 | 
			
		||||
	render.DefaultWorldRenderer.LookAt(itype.Vec3f{3, 3, 3}, rotY, rotZ)
 | 
			
		||||
	render.DefaultWorldRenderer.SetAspect(float32(windowWidth) / float32(windowHeight))
 | 
			
		||||
	render.DefaultWorldRenderer.SetFovY(45)
 | 
			
		||||
	render.DefaultWorldRenderer.Init(&world.DefaultWorld)
 | 
			
		||||
 | 
			
		||||
	gl.ClearColor(1, 1, 1, 1)
 | 
			
		||||
	winClock := time.Now()
 | 
			
		||||
	for !win.ShouldClose() {
 | 
			
		||||
 | 
			
		||||
		deltaTime := time.Since(winClock)
 | 
			
		||||
		winClock = time.Now()
 | 
			
		||||
 | 
			
		||||
		if win.GetKey(glfw.KeyLeft) == glfw.Press {
 | 
			
		||||
			rotY += float32(deltaTime.Seconds()) * 100
 | 
			
		||||
		}
 | 
			
		||||
		if win.GetKey(glfw.KeyRight) == glfw.Press {
 | 
			
		||||
			rotY -= float32(deltaTime.Seconds()) * 100
 | 
			
		||||
		}
 | 
			
		||||
		if win.GetKey(glfw.KeyUp) == glfw.Press {
 | 
			
		||||
			rotZ += float32(deltaTime.Seconds()) * 100
 | 
			
		||||
		}
 | 
			
		||||
		if win.GetKey(glfw.KeyDown) == glfw.Press {
 | 
			
		||||
			rotZ -= float32(deltaTime.Seconds()) * 100
 | 
			
		||||
		}
 | 
			
		||||
		render.DefaultWorldRenderer.LookAt(itype.Vec3f{3, 3, 3}, rotY, rotZ)
 | 
			
		||||
 | 
			
		||||
		gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT)
 | 
			
		||||
 | 
			
		||||
		render.DefaultWorldRenderer.Render(&world.DefaultWorld)
 | 
			
		||||
 | 
			
		||||
		win.SwapBuffers()
 | 
			
		||||
		glfw.PollEvents()
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user