Palash Bansal пре 1 година
родитељ
комит
65cdb3cfd4
No account linked to committer's email address

+ 22
- 3
plugins/blueprintjs/src/BlueprintJsUiPlugin.ts Прегледај датотеку

IViewerPlugin, IViewerPlugin,
IViewerPluginSync, IViewerPluginSync,
Texture, Texture,
ThreeViewer,
ThreeViewer, UndoManagerPlugin,
uploadFile, uploadFile,
Vector2, Vector2,
Vector3, Vector3,
Vector4, Vector4,
} from 'threepipe' } from 'threepipe'
import {UiObjectConfig} from 'uiconfig.js' import {UiObjectConfig} from 'uiconfig.js'
import {JSUndoManager} from 'ts-browser-helpers'


export class BlueprintJsUiPlugin extends UiConfigRendererBlueprint implements IViewerPluginSync { export class BlueprintJsUiPlugin extends UiConfigRendererBlueprint implements IViewerPluginSync {
declare ['constructor']: typeof BlueprintJsUiPlugin declare ['constructor']: typeof BlueprintJsUiPlugin
static readonly PluginType = 'BlueprintJsUi' static readonly PluginType = 'BlueprintJsUi'
enabled = true enabled = true
static CONTAINER_SLOT = 'uiconfigMainPanelSlot'


constructor(container: HTMLElement = document.body) {
super(container, {
constructor(container?: HTMLElement) {
super(container ?? document.getElementById(BlueprintJsUiPlugin.CONTAINER_SLOT) ?? document.body, {
autoPostFrame: false, autoPostFrame: false,
}) })
this.THREE = {Color, Vector4, Vector3, Vector2, Texture} as any this.THREE = {Color, Vector4, Vector3, Vector2, Texture} as any
} }


protected _viewer?: ThreeViewer protected _viewer?: ThreeViewer

private _lastManager?: JSUndoManager

onAdded(viewer: ThreeViewer): void { onAdded(viewer: ThreeViewer): void {
this._viewer = viewer this._viewer = viewer
viewer.addEventListener('preRender', this._preRender) viewer.addEventListener('preRender', this._preRender)
viewer.addEventListener('postRender', this._postRender) viewer.addEventListener('postRender', this._postRender)
viewer.addEventListener('preFrame', this._preFrame) viewer.addEventListener('preFrame', this._preFrame)
viewer.addEventListener('postFrame', this._postFrame) viewer.addEventListener('postFrame', this._postFrame)
const undo = viewer.getOrAddPluginSync(UndoManagerPlugin) // yes, manual dependency
if (undo?.undoManager) {
this._lastManager?.dispose()
this._lastManager = this.undoManager
this.undoManager = undo.undoManager
if (this._lastManager) Object.assign(this.undoManager.presets, this._lastManager.presets)
}
} }
onRemove(viewer: ThreeViewer): void { onRemove(viewer: ThreeViewer): void {
this._viewer = undefined this._viewer = undefined
viewer.removeEventListener('postRender', this._postRender) viewer.removeEventListener('postRender', this._postRender)
viewer.removeEventListener('preFrame', this._preFrame) viewer.removeEventListener('preFrame', this._preFrame)
viewer.removeEventListener('postFrame', this._postFrame) viewer.removeEventListener('postFrame', this._postFrame)
this.undoManager = this._lastManager
this._lastManager = undefined
this.dispose() this.dispose()
} }


dispose() {
this.undoManager?.dispose()
this.unmount()
}

private _plugins: IViewerPlugin[] = [] private _plugins: IViewerPlugin[] = []


setupPlugins(...plugins: Class<IViewerPlugin>[]): void { setupPlugins(...plugins: Class<IViewerPlugin>[]): void {

+ 4
- 4
plugins/extra-importers/package.json Прегледај датотеку

{ {
"name": "@threepipe/plugins-extra-importers", "name": "@threepipe/plugins-extra-importers",
"description": "Extra Threepipe plugins for importing several file types.", "description": "Extra Threepipe plugins for importing several file types.",
"version": "0.2.1",
"version": "0.2.2",
"devDependencies": { "devDependencies": {
}, },
"dependencies": { "dependencies": {
}, },
"exports": { "exports": {
".": { ".": {
"import": "./dist/index.mjs"
"import": "./dist/index.js"
}, },
"./dist/": { "./dist/": {
"import": "./dist/", "import": "./dist/",
} }
}, },
"type": "module", "type": "module",
"main": "dist/index.mjs",
"module": "dist/index.mjs",
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.d.ts", "types": "dist/index.d.ts",
"files": [ "files": [
"dist", "dist",

+ 13
- 11
plugins/tweakpane/package-lock.json Прегледај датотеку

{ {
"name": "@threepipe/plugin-tweakpane", "name": "@threepipe/plugin-tweakpane",
"version": "0.4.2",
"version": "0.5.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@threepipe/plugin-tweakpane", "name": "@threepipe/plugin-tweakpane",
"version": "0.4.2",
"version": "0.5.0",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"threepipe": "file:./../../src/" "threepipe": "file:./../../src/"
}, },
"devDependencies": { "devDependencies": {
"tweakpane-image-plugin": "https://github.com/repalash/tweakpane-image-plugin/releases/download/v1.1.404/package.tgz", "tweakpane-image-plugin": "https://github.com/repalash/tweakpane-image-plugin/releases/download/v1.1.404/package.tgz",
"uiconfig-tweakpane": "^0.0.8"
"uiconfig-tweakpane": "^0.0.10"
} }
}, },
"../../src": {}, "../../src": {},
} }
}, },
"node_modules/uiconfig-tweakpane": { "node_modules/uiconfig-tweakpane": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/uiconfig-tweakpane/-/uiconfig-tweakpane-0.0.8.tgz",
"integrity": "sha512-BZE/+6pW7qlywu4nhMjvzJ47IUORWn8rJsPpmcGqJgAz8G6MZjMXEW3Ey8EL41cVsDf5QSb0E/eTK8OWwuRfbA==",
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/uiconfig-tweakpane/-/uiconfig-tweakpane-0.0.10.tgz",
"integrity": "sha512-VF67oUg7M9EXKR3IO+TXS6jP28qfT1ci/C4Inu8CjruJk8qBfUjuxKBU5kLXH97rE5dM0xLvLg/rYxRlpJ8mog==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"@types/three": "^0.152.1", "@types/three": "^0.152.1",
"uiconfig.js": "^0.0.8"
"uiconfig.js": "^0.1.1"
} }
}, },
"node_modules/uiconfig.js": { "node_modules/uiconfig.js": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/uiconfig.js/-/uiconfig.js-0.0.8.tgz",
"integrity": "sha512-0H1OO4CNHP5O0LBy82YWWFCzDK+Yf/GtXnR3i968FkMkf0+3/JsW7MC8ea2CcPtsi8ni4TA1FrMOC+KrYmMnCQ==",
"dev": true
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/uiconfig.js/-/uiconfig.js-0.1.1.tgz",
"integrity": "sha512-JzJyAgtFOfWVg964mmKKByULnhg4d5QpfsvXzj0T/Mncs1pK3/FACM+pAteLmT1xDeVDwwIU5s86UzlTiYwR/A==",
"dev": true,
"license": "MIT"
} }
} }
} }

+ 1
- 1
src/plugins/pipeline/shaders/GBufferPlugin.mat.frag.glsl Прегледај датотеку

#else #else
float linearZ = linstep(-cameraNearFar.x, -cameraNearFar.y, -vViewPosition.z); float linearZ = linstep(-cameraNearFar.x, -cameraNearFar.y, -vViewPosition.z);
#endif #endif
vec2 packedZ = pack16(pow(linearZ, 0.5));
vec2 packedZ = pack16(pow(max(0.,linearZ), 0.5));
vec2 packedNormal = packNormal(normal); vec2 packedNormal = packNormal(normal);


#if IS_GLSL3 > 0 #if IS_GLSL3 > 0

+ 1
- 1
src/plugins/postprocessing/shaders/ChromaticAberrationPlugin.glsl Прегледај датотеку

vec4 ChromaticAberration(in vec4 color) { vec4 ChromaticAberration(in vec4 color) {
vec2 distFromCenter = vUv - 0.5; vec2 distFromCenter = vUv - 0.5;


vec2 aberrated = aberrationIntensity * pow(distFromCenter, vec2(2.0));
vec2 aberrated = aberrationIntensity * pow(abs(distFromCenter), vec2(2.0));


vec4 outColor = vec4( vec4 outColor = vec4(
tDiffuseTexelToLinear (texture2D(tDiffuse, vUv + aberrated)).r, tDiffuseTexelToLinear (texture2D(tDiffuse, vUv + aberrated)).r,

Loading…
Откажи
Сачувај