• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript painterState.getForm函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中shared-utils/painterState.getForm函数的典型用法代码示例。如果您正苦于以下问题:TypeScript getForm函数的具体用法?TypeScript getForm怎么用?TypeScript getForm使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了getForm函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: plane

	getLayer,
	getShade,
	getSketch,
} from 'shared-utils/painterState'
import { TextureData } from 'tvs-painter'
import { makeClear } from 'tvs-painter/dist/utils/context'
import { plane } from 'tvs-painter/dist/utils/geometry/plane'
import { events, gl, painter, state, State } from './context'
import frag from './shaders/geo-frag.glsl'
import vert from './shaders/geo-vert.glsl'
import lightFrag from './shaders/light-frag.glsl'

// Forms

const geometry = plane(10, 10, 0, 0)
const planeForm = getForm(painter, 'plane').update(geometry)

// Shades

const geoShade = getShade(painter, 'geo').update({
	frag,
	vert,
})

// Textures

const texture = getFrame(painter, 'tex').update({ texture: {} })

const img = new Image()
img.onload = () => {
	texture.update({
开发者ID:trivial-space,项目名称:playground,代码行数:31,代码来源:renderer.ts


示例2: getForm

import box from 'geo-3d-box'
import { getForm } from 'shared-utils/painterState'
import { plane } from 'tvs-painter/dist/utils/geometry/plane'
import { convertStackGLGeometry } from 'tvs-painter/dist/utils/stackgl'
import { painter } from './context'

export const planeSize = {
	width: 10,
	height: 10,
}

export const planeForm = getForm(painter, 'plane').update(
	plane(planeSize.width, planeSize.height, 5, 5),
)

const size = [10, 14, 2]
const segments = [5, 7, 1]

export const boxForm = getForm(painter, 'box').update(
	convertStackGLGeometry(box({ size, segments })),
)
开发者ID:trivial-space,项目名称:playground,代码行数:21,代码来源:geometries.ts


示例3: getForm

	height: bufferSize,
	bufferStructure: [
		{
			flipY: true,
			wrap: 'REPEAT',
		},
	],
})

// ===== 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: {
开发者ID:trivial-space,项目名称:playground,代码行数:31,代码来源:renderer.ts


示例4: extrudeRight

	const count = boxSliceCount
	const bk = quad
	const rt = extrudeRight([0, 0, 20], right(bk))
	const ft = extrudeRight([-20, 0, 0], right(rt))
	const lf = extrudeRight([0, 0, -20], right(ft))
	return [
		makeSideSegments(bk, count),
		makeSideSegments(rt, count),
		makeSideSegments(ft, count),
		makeSideSegments(lf, count),
	]
})()

export const faceNormals = box.map(q => normal(q[1]))

export const wallsForm = getForm(painter, 'wallsForm').update(
	convertStackGLGeometry({
		position: flatten(flatten(box)),
		// color: flatten(b.map((side) => flatten(side.map((slice) => flatten(slice.map((q) => (q as any[]).map(() => pickRandom(c)))))))),
		color: flatten(
			box.map((side, i) =>
				flatten(
					side.map((slice, j) =>
						slice.map(() => colors[i * boxSliceCount + j]),
					),
				),
			),
		),
		normal: flatten(
			box.map((side, i) => flatten(side).map(() => faceNormals[i])),
		),
开发者ID:trivial-space,项目名称:playground,代码行数:31,代码来源:geometries.ts


示例5: getShade

import { nodes, triples } from './nodes'
import blendFrag from './shaders/compose.frag'
import pointFrag from './shaders/point.frag'
import pointVert from './shaders/point.vert'
import sideFrag from './shaders/side.frag'

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

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

// ===== 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,
开发者ID:trivial-space,项目名称:playground,代码行数:31,代码来源:index.ts


示例6: getForm

import { getForm } from 'shared-utils/painterState'
import { intToFloat } from 'tvs-libs/dist/graphics/colors'
import { add, mul, normalize, sub } from 'tvs-libs/dist/math/vectors'
import { flatten, mapcat } from 'tvs-libs/dist/utils/sequence'
import { painter } from './context'
import { connections, nameSpaceCount, nodes } from './nodes'

export const pointsForm = getForm(painter, 'points')
export const lineForm = getForm(painter, 'lines')

const lineWidth = 3

export function updateGeometries() {
	pointsForm.update({
		drawType: 'POINTS',
		attribs: {
			position: {
				buffer: new Float32Array(mapcat(n => n.pos, nodes)),
				storeType: 'DYNAMIC',
			},
			color: {
				buffer: new Float32Array(
					mapcat(
						n =>
							intToFloat([
								(n.ns / nameSpaceCount) * 255,
								((n.ns / nameSpaceCount + 1 / 3) * 255) % 255,
								((n.ns / nameSpaceCount + 2 / 3) * 255) % 255,
							]),
						nodes,
					),
开发者ID:trivial-space,项目名称:playground,代码行数:31,代码来源:geometries.ts


示例7: getShade

// ===== Settings =====

painter.updateDrawSettings({
	clearColor: [1, 1, 1, 1],
	enable: [gl.DEPTH_TEST, gl.CULL_FACE],
})

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

const shade = getShade(painter, 'shade').update({ frag, vert })

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

const tileSize = state.tiles.tileSize
const form = getForm(painter, 'form').update(plane(tileSize, tileSize, 3, 3))

// ===== textures =====

const textures: { [id: string]: Frame } = {}

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

export const tiles = getSketch(painter, 'tiles')

addSystem<State>('render', (e, s) => {
	switch (e) {
		case events.ON_IMAGES_LOADED:
			each((img, key) => {
				textures[key] = getFrame(painter, key).update({
					texture: {
开发者ID:trivial-space,项目名称:playground,代码行数:30,代码来源:renderer.ts



注:本文中的shared-utils/painterState.getForm函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript painterState.getFrame函数代码示例发布时间:2022-05-25
下一篇:
TypeScript painterState.getEffect函数代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap