draw one triangle
draw 3000 triangles
add
compute fps, timeline
worker
noWorker add it
before
improve
abstract
时序图 two frame
three worker
post message
SharedArrayBuffer
////clean first
- load json
use most
配置数据 shaders.json shader_libs.json
- parse json
run test in engine/
independent, add funcs to handle branch
- handle sender
sender: add to specific sender array attribute uniform
add pos, type, send func, …
engine: add sendMetadataArr to state; add log: create shader with glsl add RenderJob: use it when draw;
pass run test
remove material concept
- get chunks to state
- Builder: shader libs + Chunks to vs glsl, fs glsl
support all parts
result: glsl sender
add getHandle
add set define count:light count
glsl
send: judge when render
2uniform
attribute order
draft
update import path
domain model
flow
story improve: shader组合图
abstract UML: this pattern is not only for glsl, but for else!
load config
parse config
build target(string) by config
get runtime data when init by target
remove comment
add image
finish TODO
remove comment
add image
finish TODO
remove comment
add image
finish TODO
去掉重复代码
每个设计原则给两个函数式编程的案例
1,3,4 2
_getAllFakeGameObjects return 2 gameObjects
给出模式写作套路: 首先给出项目需求 然后用最简单的方法实现 然后可能给出一些改进方案实现 然后用模式的改进方案实现 然后进行抽象归纳,给出模式的定义 然后给出优缺点,具体的使用场景 然后进行扩展 然后给出项目中的实践经验 最后推荐更多资料
给出每个模式的使用场景
add 特点:
- 没有使用任何的引擎库、引擎框架、UI库等,直接使用WebGL图形API