本文整理匯總了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] },
示例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,
示例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],
},
示例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 =====
示例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],
},
示例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,