-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update .gitignore, and remove redundant line
- Loading branch information
1 parent
aae0cbf
commit e8a273c
Showing
2 changed files
with
108 additions
and
108 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
node_modules | ||
target | ||
dist | ||
node_modules/ | ||
target/ | ||
dist/ | ||
.vscode/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,106 +1,105 @@ | ||
import { gl } from "Engine/gl"; | ||
import { Buffer, VertexBuffer, VertexArray, IndexBuffer } from "Engine/Renderer/Buffer"; | ||
import { Shader } from "Engine/Renderer/Shader/Shader"; | ||
import { Engine } from "./Engine"; | ||
import { mat4, glMatrix, vec3 } from "gl-matrix"; | ||
import { RenderCommands, Renderer } from "./Renderer/Renderer"; | ||
import { CameraController } from "Engine/CameraController" | ||
import { CubeGActor } from "Engine/Game/Scripts/CubeActor"; | ||
import { Components } from "./Core/CoreComponents/Components"; | ||
import { ActorManager } from "./Core/Actors"; | ||
|
||
|
||
import * as cubeMeshData from "Models/cube.json"; | ||
import * as triangleMeshData from "Models/triangle.json"; | ||
|
||
import * as defaultGlslShaderSource from "Shaders/defaultPipelineShader.glsl"; | ||
import * as primativeGlslShaderSource from "Shaders/primitivePipelineShader.glsl"; | ||
|
||
import * as defaultNoiseTexture from "Textures/noise.png"; | ||
console.log(defaultNoiseTexture.default); | ||
|
||
let defaultPipelineShader = defaultGlslShaderSource.default.split("//<<StageEnd>>"); | ||
let primativePipelineShader = primativeGlslShaderSource.default.split("//<<StageEnd>>"); | ||
|
||
let actorManager: ActorManager = new ActorManager(); | ||
|
||
let cubeMesh: Components.StaticMesh = { | ||
vertcies: cubeMeshData.vertcies, | ||
indcies: cubeMeshData.indcies, | ||
} | ||
|
||
let cube = new CubeGActor("cube"); | ||
cube.attachStaticMesh(cubeMesh); | ||
|
||
let mainCamera = new CameraController( | ||
vec3.fromValues(8, 8, -8), | ||
vec3.fromValues(0, 0, 0), | ||
vec3.fromValues(0, 1, 0), | ||
); | ||
|
||
actorManager.registerActor(cube); | ||
|
||
|
||
let game = new Engine(gl); | ||
|
||
game.registerNewSystem(actorManager); | ||
game.registerNewSystem(mainCamera); | ||
|
||
const flatColorShader = new Shader("flatColor", defaultPipelineShader[0], defaultPipelineShader[1]); | ||
const program = flatColorShader.shaderProgram; | ||
|
||
const vao_triangle = new VertexArray(program); | ||
const bufferLayout_triangle = new Buffer.BufferLayout([ | ||
new Buffer.BufferElement("vertPosition", Buffer.ShaderDataType.Float2), | ||
new Buffer.BufferElement("vertColor", Buffer.ShaderDataType.Float3) | ||
]); | ||
const vbo_triangle = new VertexBuffer(program, triangleMeshData.vertcies, triangleMeshData.vertcies.length); | ||
vbo_triangle.setLayout(bufferLayout_triangle); | ||
const ibo_triangle = new IndexBuffer(triangleMeshData.indcies, triangleMeshData.indcies.length); | ||
vao_triangle.addVertexBuffer(vbo_triangle); | ||
vao_triangle.setIndexBuffer(ibo_triangle); | ||
vao_triangle.unbind(); | ||
|
||
|
||
const vao = new VertexArray(program); | ||
const bufferLayout = new Buffer.BufferLayout([ | ||
new Buffer.BufferElement("vertPosition", Buffer.ShaderDataType.Float3), | ||
new Buffer.BufferElement("vertColor", Buffer.ShaderDataType.Float3) | ||
]); | ||
const vbo = new VertexBuffer(program, cubeMeshData.vertcies, cubeMeshData.vertcies.length); | ||
vbo.setLayout(bufferLayout); | ||
const ibo = new IndexBuffer(cubeMeshData.vertcies, cubeMeshData.vertcies.length); | ||
vao.addVertexBuffer(vbo); | ||
vao.setIndexBuffer(ibo); | ||
vao.unbind(); | ||
|
||
const cubeBufferLayout = new Buffer.BufferLayout([ | ||
new Buffer.BufferElement("vertPosition", Buffer.ShaderDataType.Float3), | ||
new Buffer.BufferElement("vertColor", Buffer.ShaderDataType.Float3) | ||
]); | ||
const cubeVAO = RenderCommands.uploadObject(cubeMesh, cubeBufferLayout, program); | ||
|
||
flatColorShader.bind(); | ||
var viewMatrix = mainCamera.viewMatrix; | ||
var projMatrix = mat4.perspective(mat4.create(), glMatrix.toRadian(45), gl.canvas.width / gl.canvas.height, 0.1, 1000.0); | ||
|
||
RenderCommands.initRenderer(); | ||
|
||
game.registerNewTask(function (time: number) { | ||
gl.clearColor(0.75, 0.85, 0.8, 1.0); | ||
gl.clear(gl.DEPTH_BUFFER_BIT | gl.COLOR_BUFFER_BIT); | ||
|
||
RenderCommands.Submit(flatColorShader, vao_triangle, { | ||
model: mat4.create(), | ||
view: viewMatrix, | ||
proj: projMatrix | ||
}); | ||
|
||
RenderCommands.Submit(flatColorShader, cubeVAO, { | ||
model: cube.modelMatrix, | ||
view: viewMatrix, | ||
proj: projMatrix | ||
}); | ||
}); | ||
|
||
import { gl } from "Engine/gl"; | ||
import { Buffer, VertexBuffer, VertexArray, IndexBuffer } from "Engine/Renderer/Buffer"; | ||
import { Shader } from "Engine/Renderer/Shader/Shader"; | ||
import { Engine } from "./Engine"; | ||
import { mat4, glMatrix, vec3 } from "gl-matrix"; | ||
import { RenderCommands, Renderer } from "./Renderer/Renderer"; | ||
import { CameraController } from "Engine/CameraController" | ||
import { CubeGActor } from "Engine/Game/Scripts/CubeActor"; | ||
import { Components } from "./Core/CoreComponents/Components"; | ||
import { ActorManager } from "./Core/Actors"; | ||
|
||
|
||
import * as cubeMeshData from "Models/cube.json"; | ||
import * as triangleMeshData from "Models/triangle.json"; | ||
|
||
import * as defaultGlslShaderSource from "Shaders/defaultPipelineShader.glsl"; | ||
import * as primativeGlslShaderSource from "Shaders/primitivePipelineShader.glsl"; | ||
|
||
|
||
let defaultPipelineShader = defaultGlslShaderSource.default.split("//<<StageEnd>>"); | ||
let primativePipelineShader = primativeGlslShaderSource.default.split("//<<StageEnd>>"); | ||
console.log(defaultPipelineShader[1]); | ||
|
||
let actorManager: ActorManager = new ActorManager(); | ||
|
||
let cubeMesh: Components.StaticMesh = { | ||
vertcies: cubeMeshData.vertcies, | ||
indcies: cubeMeshData.indcies, | ||
} | ||
|
||
let cube = new CubeGActor("cube"); | ||
cube.attachStaticMesh(cubeMesh); | ||
|
||
let mainCamera = new CameraController( | ||
vec3.fromValues(8, 8, -8), | ||
vec3.fromValues(0, 0, 0), | ||
vec3.fromValues(0, 1, 0), | ||
); | ||
|
||
actorManager.registerActor(cube); | ||
|
||
|
||
let game = new Engine(gl); | ||
|
||
game.registerNewSystem(actorManager); | ||
game.registerNewSystem(mainCamera); | ||
|
||
const flatColorShader = new Shader("flatColor", defaultPipelineShader[0], defaultPipelineShader[1]); | ||
const program = flatColorShader.shaderProgram; | ||
|
||
const vao_triangle = new VertexArray(program); | ||
const bufferLayout_triangle = new Buffer.BufferLayout([ | ||
new Buffer.BufferElement("vertPosition", Buffer.ShaderDataType.Float2), | ||
new Buffer.BufferElement("vertColor", Buffer.ShaderDataType.Float3) | ||
]); | ||
const vbo_triangle = new VertexBuffer(program, triangleMeshData.vertcies, triangleMeshData.vertcies.length); | ||
vbo_triangle.setLayout(bufferLayout_triangle); | ||
const ibo_triangle = new IndexBuffer(triangleMeshData.indcies, triangleMeshData.indcies.length); | ||
vao_triangle.addVertexBuffer(vbo_triangle); | ||
vao_triangle.setIndexBuffer(ibo_triangle); | ||
vao_triangle.unbind(); | ||
|
||
|
||
const vao = new VertexArray(program); | ||
const bufferLayout = new Buffer.BufferLayout([ | ||
new Buffer.BufferElement("vertPosition", Buffer.ShaderDataType.Float3), | ||
new Buffer.BufferElement("vertColor", Buffer.ShaderDataType.Float3) | ||
]); | ||
const vbo = new VertexBuffer(program, cubeMeshData.vertcies, cubeMeshData.vertcies.length); | ||
vbo.setLayout(bufferLayout); | ||
const ibo = new IndexBuffer(cubeMeshData.vertcies, cubeMeshData.vertcies.length); | ||
vao.addVertexBuffer(vbo); | ||
vao.setIndexBuffer(ibo); | ||
vao.unbind(); | ||
|
||
const cubeBufferLayout = new Buffer.BufferLayout([ | ||
new Buffer.BufferElement("vertPosition", Buffer.ShaderDataType.Float3), | ||
new Buffer.BufferElement("vertColor", Buffer.ShaderDataType.Float3) | ||
]); | ||
const cubeVAO = RenderCommands.uploadObject(cubeMesh, cubeBufferLayout, program); | ||
|
||
flatColorShader.bind(); | ||
var viewMatrix = mainCamera.viewMatrix; | ||
var projMatrix = mat4.perspective(mat4.create(), glMatrix.toRadian(45), gl.canvas.width / gl.canvas.height, 0.1, 1000.0); | ||
|
||
RenderCommands.initRenderer(); | ||
|
||
game.registerNewTask(function (time: number) { | ||
gl.clearColor(0.75, 0.85, 0.8, 1.0); | ||
gl.clear(gl.DEPTH_BUFFER_BIT | gl.COLOR_BUFFER_BIT); | ||
|
||
RenderCommands.Submit(flatColorShader, vao_triangle, { | ||
model: mat4.create(), | ||
view: viewMatrix, | ||
proj: projMatrix | ||
}); | ||
|
||
RenderCommands.Submit(flatColorShader, cubeVAO, { | ||
model: cube.modelMatrix, | ||
view: viewMatrix, | ||
proj: projMatrix | ||
}); | ||
}); | ||
|
||
game.run(); |