Made entire pipeline class based.

This commit is contained in:
2021-09-26 01:45:07 -07:00
parent 4a57adf427
commit e8bcce3cc5
8 changed files with 145 additions and 46 deletions

39
ts/display/Shader.ts Normal file
View File

@ -0,0 +1,39 @@
import { Camera } from "./Camera";
export class Shader {
public _shader:CShader;
constructor() {
this._shader = shaderCreate();
}
public use() {
shaderUse(this._shader);
}
public setCamera(camera:Camera) {
shaderUseCamera(this._shader, camera._camera);
}
public setPosition(
x:number, y:number, z:number, pitch:number, yaw:number, roll:number
) {
shaderUsePosition(this._shader, x,y,z, pitch,yaw,roll);
}
public setPositionAndScale(
x:number, y:number, z:number,
pitch:number, yaw:number, roll:number,
sx:number, sy:number, sz:number
) {
shaderUsePositionAndScale(this._shader, x,y,z, pitch,yaw,roll, sx,sy,sz);
}
public setTexture(texture:CTexture) {
shaderUseTexture(this._shader, texture);
}
public dispose() {
shaderDispose(this._shader);
}
}