當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript painterState.getSketch函數代碼示例

本文整理匯總了TypeScript中shared-utils/painterState.getSketch函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript getSketch函數的具體用法?TypeScript getSketch怎麽用?TypeScript getSketch使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了getSketch函數的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: getShade

// ===== shaders =====

const pointsShade = getShade(painter, 'point').update({
	vert: pointVert,
	frag: pointFrag,
})

const linesShade = getShade(painter, 'line').update({
	vert: lineVert,
	frag: lineFrag,
})

// ===== objects =====

const points = getSketch(painter, 'point').update({
	form: pointsForm,
	shade: pointsShade,
	uniforms: { size: [canvas.width, canvas.height] },
})

const lines = getSketch(painter, 'lines').update({
	form: lineForm,
	shade: linesShade,
	drawSettings: {
		clearColor: [0, 0, 0, 1],
		clearBits: gl.COLOR_BUFFER_BIT,
		cullFace: gl.BACK,
		enable: [gl.CULL_FACE],
	},
	uniforms: { size: [canvas.width, canvas.height] },
開發者ID:trivial-space,項目名稱:playground,代碼行數:30,代碼來源:index.ts

示例2: Image

const img = new Image()
img.onload = () => {
	texture.update({
		texture: {
			asset: img,
			minFilter: 'LINEAR_MIPMAP_LINEAR',
			magFilter: 'LINEAR',
		},
	})
}
img.src = 'tree.jpg'

// Sketches

const groundSketch = getSketch(painter, 'ground').update({
	form: planeForm,
	shade: geoShade,
	uniforms: {
		transform: () => state.scene.groundTransform,
		color: () => state.scene.groundColor,
	},
})

const lightSketch = getSketch(painter, 'light').update({
	form: planeForm,
	shade: geoShade,
	uniforms: [
		{
			transform: () => state.scene.lightTransforms[0],
			color: () => state.scene.lightColor,
開發者ID:trivial-space,項目名稱:playground,代碼行數:30,代碼來源:renderer.ts

示例3: getShade

// ===== Shaders =====

const wallsShade = getShade(painter, 'walls').update({
	vert: wallsVert,
	frag: wallsFrag,
})

const groundShade = getShade(painter, 'ground').update({
	vert: groundVert,
	frag: groundFrag,
})

// ===== objects =====

const wallsSketch = getSketch(painter, 'walls').update({
	form: wallsForm,
	shade: wallsShade,
	uniforms: {
		transform: wallsTransform,
	},
})

const groundSketch = getSketch(painter, 'ground').update({
	form: groundForm,
	shade: groundShade,
	uniforms: {
		transform: floorTransform,
		reflection: '0',
		size: () => [canvas.width, canvas.height],
	},
開發者ID:trivial-space,項目名稱:playground,代碼行數:30,代碼來源:renderer.ts

示例4: getForm

})

// ===== scene =====

const planMat = mat4.fromTranslation(mat4.create(), [0, 0, -3])
const rotation = 0.001
const projection = mat4.perspective(mat4.create(), 45, 1, 0.01, 10)

const form = getForm(painter, 'plane').update(plane(2, 2))

const shade = getShade(painter, 'plane').update({
	vert: planeVert,
	frag: planeFrag,
})

export const sketch = getSketch(painter, 'plane').update({
	form,
	shade,
	uniforms: {
		projection,
		transform: () => mat4.rotateY(planMat, planMat, rotation),
		tex: () => automaton.image(),
	},
	drawSettings: {
		clearColor: [0.0, 1.0, 0.0, 1.0],
		clearBits: makeClear(gl, 'color'),
	},
})

// ===== state =====
開發者ID:trivial-space,項目名稱:playground,代碼行數:30,代碼來源:renderer.ts

示例5: getForm

// ===== geometries =====

const pointsForm = getForm(painter, 'points').update({
	drawType: 'POINTS',
	attribs: {
		position: {
			buffer: new Float32Array(flatten(nodes)),
			storeType: 'DYNAMIC',
		},
	},
	itemCount: nodes.length,
})

// ===== objects =====

const pointsSketch = getSketch(painter, 'points').update({
	form: pointsForm,
	shade: pointsShade,
})

// ===== layers =====

const points = getLayer(painter, 'points').update({
	sketches: [pointsSketch],
	uniforms: { size: () => [canvas.width, canvas.height] },
	drawSettings: {
		clearColor: [0, 0, 0, 1],
		clearBits: gl.COLOR_BUFFER_BIT,
		enable: [gl.BLEND],
		blendFunc: [gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA],
	},
開發者ID:trivial-space,項目名稱:playground,代碼行數:31,代碼來源:index.ts

示例6: getBlurByAlphaEffect

				magFilter: 'LINEAR',
			},
		],
		width: reflSize,
		height: reflSize,
		layers: getBlurByAlphaEffect(painter, id, {
			strength: 4,
			size: [reflSize, reflSize],
			startFrame: t,
		}),
	})
})

// Sketches

const groundSketch = getSketch(painter, 'ground').update({
	form: planeForm,
	shade: groundShade,
	uniforms: {
		reflection: () => mirrorScene.image(),
		transform: () => state.ground.transform,
		lights: () => state.screens.lights,
		lightSize: () => state.screens.lightSize,
		lightTex: () => videoLights.map(v => v.image()),
		size: getCanvasSize,
	},
})

const screenSketch = getSketch(painter, 'screens').update({
	form: planeForm,
	shade: screenShade,
開發者ID:trivial-space,項目名稱:playground,代碼行數:31,代碼來源:renderer.ts


注:本文中的shared-utils/painterState.getSketch函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。