3个版本
0.1.2 | 2020年12月6日 |
---|---|
0.1.1 | 2020年12月6日 |
0.1.0 | 2020年12月6日 |
#1878 in 游戏开发
165KB
2K SLoC
Rust-FNA3D
重导出 fna3d
更多信息请参阅 仓库。
lib.rs
:
fna3d 类型层次结构
仅是重导出集合。
未导出项: fna3d::linked_version
纹理GPU缓冲区
TODO:提供使用 derive
宏进行顶点绘制的功能
渲染周期
如 crate::Device
所述,一次渲染过程如下
设备::清除
- 对于每个绘制调用
- (设置着色器矩阵)
- 应用管线
Device::apply_effect
(mojo::Effect
)Device::set_vertex_buffer_data
(crate::buf
)Device::verify_sampler
(pip::SamplerState
)Device::apply_vertex_buffer_bindings
(VertexBufferBinding
)Device::draw_indexed_primitives
: (顶点缓冲区和索引缓冲区的范围)
并在帧末调用 Device::swap_buffers
。
混合管线(SamplerState
+ DepthStencilState
+ RasterizerState
)渲染到帧缓冲区或离屏(渲染目标)
crate::Device::clear
是一个通过操作。MojoShader 窗口
依赖项
~4.5–7MB
~159K SLoC