Skip to content

Commit

Permalink
removed enums and statics
Browse files Browse the repository at this point in the history
  • Loading branch information
reindernijhoff committed Jun 18, 2024
1 parent 5eea637 commit 0590252
Show file tree
Hide file tree
Showing 17 changed files with 60 additions and 70 deletions.
11 changes: 0 additions & 11 deletions example/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions example/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,5 @@
"license": "MIT",
"devDependencies": {
"vite": "^5.1.6"
},
"dependencies": {
"@mediamonks/image-effect-renderer": "^2.1.3"
}
}
2 changes: 1 addition & 1 deletion example/src/examples/CreateDestructTest.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {ImageEffectRenderer} from '@mediamonks/image-effect-renderer';
import {ImageEffectRenderer} from '../../../src/index';
import Stargate from "./Stargate";
import Flow from "./Flow";
import FluidDynamics from "./FluidDynamics";
Expand Down
2 changes: 1 addition & 1 deletion example/src/examples/Flow.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {ImageEffectRenderer} from '@mediamonks/image-effect-renderer';
import {ImageEffectRenderer} from '../../../src/index';
import flow_image from '../shader/flow_image.glsl?raw';
import flow_buffer from '../shader/flow_buffer.glsl?raw';
import ImageLoader from "../utils/ImageLoader";
Expand Down
11 changes: 7 additions & 4 deletions example/src/examples/FluidDynamics.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {ImageEffectRenderer} from '@mediamonks/image-effect-renderer';
import {ImageEffectRenderer} from '../../../src/index';
import fluid_dynamics from '../shader/fluid_dynamics.glsl?raw';
import fluid_paint from '../shader/fluid_paint.glsl?raw';
import fluid_image from '../shader/fluid_image.glsl?raw';
Expand All @@ -18,17 +18,20 @@ export default class FluidDynamics {
this.renderer.createBuffer(0, fluid_dynamics, {
type: WebGLRenderingContext.FLOAT,
clampX: false,
clampY: false
clampY: false,
pixelRatio: 0.5
});
this.renderer.createBuffer(1, fluid_dynamics, {
type: WebGLRenderingContext.FLOAT,
clampX: false,
clampY: false
clampY: false,
pixelRatio: 0.5
});
this.renderer.createBuffer(2, fluid_dynamics, {
type: WebGLRenderingContext.FLOAT,
clampX: false,
clampY: false
clampY: false,
pixelRatio: 0.5
});

this.renderer.buffers[0].setImage(0, this.renderer.buffers[2]);
Expand Down
2 changes: 1 addition & 1 deletion example/src/examples/FluidLike.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {ImageEffectRenderer} from '@mediamonks/image-effect-renderer';
import {ImageEffectRenderer} from '../../../src/index';
import shader from '../shader/fluid_like.glsl?raw';

export default class FluidLike {
Expand Down
2 changes: 1 addition & 1 deletion example/src/examples/Glitch.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {ImageEffectRenderer} from '@mediamonks/image-effect-renderer';
import {ImageEffectRenderer} from '../../../src/index';
import shader from '../shader/glitch.glsl?raw';
import ImageLoader from "../utils/ImageLoader";

Expand Down
2 changes: 1 addition & 1 deletion example/src/examples/Mask1.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {ImageEffectRenderer} from '@mediamonks/image-effect-renderer';
import {ImageEffectRenderer} from '../../../src/index';
import shader from '../shader/mask_1.glsl?raw';
import ImageLoader from "../utils/ImageLoader";

Expand Down
2 changes: 1 addition & 1 deletion example/src/examples/Mask2.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {ImageEffectRenderer} from '@mediamonks/image-effect-renderer';
import {ImageEffectRenderer} from '../../../src/index';
import shader from '../shader/mask_2.glsl?raw';
import ImageLoader from "../utils/ImageLoader";

Expand Down
2 changes: 1 addition & 1 deletion example/src/examples/Stargate.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {ImageEffectRenderer} from '@mediamonks/image-effect-renderer';
import {ImageEffectRenderer} from '../../../src/index';
import shader from '../shader/stargate.glsl?raw';

export default class Stargate {
Expand Down
3 changes: 2 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
export {default as ImageEffectRenderer} from './lib/ImageEffectRenderer.js';
export * from './lib/ImageEffectRenderer.js';
export type {RendererInstance} from './lib/RendererInstance.js';
export type {RendererBuffer} from './lib/RendererBuffer.js';
export type {ImageOptions} from './lib/Renderer.js';
export type {ImageEffectRendererOptions} from './lib/ImageEffectRenderer.js';
export type {BufferOptions} from './lib/RendererBuffer.js';
6 changes: 4 additions & 2 deletions src/lib/FrameBuffer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ import {WebGLInstance} from "./WebGLInstance.js";

export type FrameBufferOptions = {
type: number,
pixelRatio: number,
msaa: boolean,
}

const defaultFrameBufferOptions: FrameBufferOptions = {
type: WebGLRenderingContext.UNSIGNED_BYTE,
export const defaultFrameBufferOptions: FrameBufferOptions = {
type: 5121, // WebGLRenderingContext.UNSIGNED_BYTE,
pixelRatio: 1,
msaa: false,
};

Expand Down
2 changes: 1 addition & 1 deletion src/lib/ImageEffectRenderer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const poolWebGLInstance: WebGLInstance[] = [];
let sharedInstance: WebGLInstance;
let sharedTime: number = -1;

export default class ImageEffectRenderer {
export class ImageEffectRenderer {
constructor() {
throw new Error('Use ImageEffectRenderer.createTemporary to create an ImageEffectRenderer');
}
Expand Down
32 changes: 16 additions & 16 deletions src/lib/Renderer.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {WebGLInstance} from './WebGLInstance.js';
import Uniform, {UniformType} from "./Uniform.js";
import Uniform, {UNIFORM_FLOAT, UNIFORM_INT, UNIFORM_MATRIX, UNIFORM_VEC2, UNIFORM_VEC3, UNIFORM_VEC4, type UniformType} from "./Uniform.js";
import type Program from "./Program.js";
import type {RendererBuffer} from "./RendererBuffer.js";
import type {Texture} from "./Texture.js.js";
Expand All @@ -26,11 +26,11 @@ export type ImageOptions = {
}

export const defaultImageOptions: ImageOptions = {
clampX: true,
clampY: true,
flipY: false,
useMipmap: true,
useCache: true,
clampX: true,
clampY: true,
flipY: false,
useMipmap: true,
useCache: true,
minFilterLinear: true,
magFilterLinear: true,
};
Expand Down Expand Up @@ -98,8 +98,8 @@ export class Renderer {

this.textures[slotIndex] = {
texture: undefined,
buffer: image,
cached: false,
buffer: image,
cached: false,
};

this.gl.setTextureParameter(image.src.texture, bufferOptions);
Expand All @@ -121,8 +121,8 @@ export class Renderer {
}
this.textures[slotIndex] = {
texture: texture,
buffer: undefined,
cached: imageOptions.useCache,
buffer: undefined,
cached: imageOptions.useCache,
};
context.bindTexture(context.TEXTURE_2D, texture);
context.pixelStorei(context.UNPACK_FLIP_Y_WEBGL, options.flipY ? 1 : 0);
Expand All @@ -138,7 +138,7 @@ export class Renderer {
* @param value - Float value.
*/
public setUniformFloat(name: string, value: number): void {
this.setUniform(name, UniformType.FLOAT, value, 0, 0, 0, undefined);
this.setUniform(name, UNIFORM_FLOAT, value, 0, 0, 0, undefined);
}

/**
Expand All @@ -147,7 +147,7 @@ export class Renderer {
* @param value - Integer value.
*/
public setUniformInt(name: string, value: number): void {
this.setUniform(name, UniformType.INT, value, 0, 0, 0, undefined);
this.setUniform(name, UNIFORM_INT, value, 0, 0, 0, undefined);
}

/**
Expand All @@ -157,7 +157,7 @@ export class Renderer {
* @param y - Y value.
*/
public setUniformVec2(name: string, x: number, y: number): void {
this.setUniform(name, UniformType.VEC2, x, y, 0, 0, undefined);
this.setUniform(name, UNIFORM_VEC2, x, y, 0, 0, undefined);
}

/**
Expand All @@ -168,7 +168,7 @@ export class Renderer {
* @param z - Z value.
*/
public setUniformVec3(name: string, x: number, y: number, z: number): void {
this.setUniform(name, UniformType.VEC3, x, y, z, 0, undefined);
this.setUniform(name, UNIFORM_VEC3, x, y, z, 0, undefined);
}

/**
Expand All @@ -180,7 +180,7 @@ export class Renderer {
* @param w - W value.
*/
public setUniformVec4(name: string, x: number, y: number, z: number, w: number): void {
this.setUniform(name, UniformType.VEC4, x, y, z, w, undefined);
this.setUniform(name, UNIFORM_VEC4, x, y, z, w, undefined);
}

/**
Expand All @@ -189,7 +189,7 @@ export class Renderer {
* @param matrix - 4X4 matrix.
*/
public setUniformMatrix(name: string, matrix: Float32Array): void {
this.setUniform(name, UniformType.MATRIX, 0, 0, 0, 0, matrix);
this.setUniform(name, UNIFORM_MATRIX, 0, 0, 0, 0, matrix);
}

public destruct() {
Expand Down
7 changes: 3 additions & 4 deletions src/lib/RendererBuffer.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
import {FrameBuffer, type FrameBufferOptions} from "./FrameBuffer.js";
import {defaultFrameBufferOptions, FrameBuffer, type FrameBufferOptions} from "./FrameBuffer.js";
import {WebGLInstance} from "./WebGLInstance.js";
import {defaultImageOptions, type ImageOptions, Renderer} from "./Renderer.js";

export type BufferOptions = ImageOptions & FrameBufferOptions;

const defaultBufferOptions: BufferOptions = {
...defaultImageOptions,
...defaultFrameBufferOptions,
useMipmap: false,
useCache: false,
type: 5121, // WebGLRenderingContext.UNSIGNED_BYTE,
msaa: false,
useCache: false,
};

export class RendererBuffer extends Renderer {
Expand Down
16 changes: 8 additions & 8 deletions src/lib/Uniform.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
export enum UniformType {
INT,
FLOAT,
VEC2,
VEC3,
VEC4,
MATRIX,
}
export const UNIFORM_INT = 0;
export const UNIFORM_FLOAT = 1;
export const UNIFORM_VEC2 = 2;
export const UNIFORM_VEC3 = 3;
export const UNIFORM_VEC4 = 4;
export const UNIFORM_MATRIX = 5;

export type UniformType = typeof UNIFORM_INT | typeof UNIFORM_FLOAT | typeof UNIFORM_VEC2 | typeof UNIFORM_VEC3 | typeof UNIFORM_VEC4 | typeof UNIFORM_MATRIX;

export default class Uniform {
public type: UniformType;
Expand Down
25 changes: 12 additions & 13 deletions src/lib/WebGLInstance.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import type {ImageOptions} from "./Renderer.js";
import Program from "./Program.js";
import type Uniform from "./Uniform.js";
import {UniformType} from "./Uniform.js";
import Uniform, {UNIFORM_FLOAT, UNIFORM_INT, UNIFORM_MATRIX, UNIFORM_VEC2, UNIFORM_VEC3, UNIFORM_VEC4} from "./Uniform.js";
import type {Texture} from "./Texture.js.js";

export class WebGLInstance {
Expand All @@ -17,12 +16,12 @@ export class WebGLInstance {
this.canvas = canvas || document.createElement('canvas');

const options = {
premultipliedAlpha: true,
alpha: true,
premultipliedAlpha: true,
alpha: true,
preserveDrawingBuffer: false,
antialias: false,
depth: false,
stencil: false,
antialias: false,
depth: false,
stencil: false,
};

this.context = <WebGLRenderingContext>this.canvas.getContext('webgl2', options);
Expand Down Expand Up @@ -118,22 +117,22 @@ export class WebGLInstance {
const location = program.getUniformLocation(u.name);
if (location !== null) {
switch (u.type) {
case UniformType.INT:
case UNIFORM_INT:
context.uniform1i(location, u.x);
break;
case UniformType.FLOAT:
case UNIFORM_FLOAT:
context.uniform1f(location, u.x);
break;
case UniformType.VEC2:
case UNIFORM_VEC2:
context.uniform2f(location, u.x, u.y);
break;
case UniformType.VEC3:
case UNIFORM_VEC3:
context.uniform3f(location, u.x, u.y, u.z);
break;
case UniformType.VEC4:
case UNIFORM_VEC4:
context.uniform4f(location, u.x, u.y, u.z, u.w);
break;
case UniformType.MATRIX:
case UNIFORM_MATRIX:
context.uniformMatrix4fv(location, false, <Float32Array>u.matrix);
break;
}
Expand Down

0 comments on commit 0590252

Please sign in to comment.