前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2022-03-08 Fornjot: 世界需要另一个CAD程序

【Rust日报】2022-03-08 Fornjot: 世界需要另一个CAD程序

作者头像
MikeLoveRust
发布2022-03-24 13:31:36
6160
发布2022-03-24 13:31:36
举报
文章被收录于专栏:Rust语言学习交流

Fornjot: 世界需要另一个CAD程序

Fornjot (Code-CAD in Rust) - Weekly Dev Log - 2022-W09

关于Fornjot

Fornjot是一个早期项目,旨在创建新一代的Code-CAD应用程序:因为世界需要另一个CAD程序。

这个项目的目标是创建一个有如下特色的CAD应用程序:

  • 使用代码优先的方法;
  • 是开源的;
  • 广泛使用,支持所有主要平台;
  • 基于一个新的CAD内核,用Rust语言编写;
  • 提供一个全面的功能集;
  • 以及对不同建模语言的支持;

这个目标还没有实现。事实上,还远远没有! 但Fornjot正在一步一步地慢慢变得更好。

Fornjot正在积极开发中,但仍然是实验性的。目前的工作重点是提供一套稳定的基本CAD功能。

基本建模功能

在这一点上,Fornjot支持基本的2D形状(由线段、圆和它们之间的有限组合组成的草图),沿着直线路径扫过这些2D形状以创建3D形状,以及对构造实体几何(CSG)的一些非常不完整的支持。

短期到中期的优先事项是提供固体CSG支持、更灵活的草图和更灵活的扫描(沿着圆或螺旋)。长期计划是不断增加更高级的CAD建模功能,以支持甚至复杂的模型和工作流程。

平台支持

截至目前,Fornjot在Linux、Windows和macOS上运行。该项目主要是在Linux上开发的,所以其他平台可能会有bug。

中短期的计划是增加对网络平台的支持,因此Fornjot可以在浏览器中运行。长期来看,计划是增加对主要移动平台的支持。

导出到3MF

支持将模型导出到3D制造格式(3MF),这在3D打印中使用。

Kira(游戏音频库) v0.6.0 - 完全重写以支持流媒体声音和更精简、更优雅的API

kira (game audio library) v0.6.0 - complete rewrite with streaming sound support and a leaner and more elegant API

关于Kira

Kira是一个与后台无关的库,用于为游戏创建富有表现力的音频。它提供了用于平滑调整声音属性的参数,一个灵活的混合器,用于将效果应用于音频,以及一个时钟系统,用于为音频事件精确计时。

平台支持

  1. Kira主要用于桌面平台。大多数测试是在Windows上进行的,但它也被成功地用在了Linux上。
  2. Kira也可以在wasm环境中使用,但有以下限制:
    • 静态声音不能从文件中加载;
    • 不支持流媒体声音,因为它们会大量使用线程;

代码示例

代码语言:javascript
复制
use kira::{
	manager::{
		AudioManager, AudioManagerSettings,
		backend::cpal::CpalBackend,
	},
	sound::static_sound::{StaticSoundData, StaticSoundSettings},
};

// Create an audio manager. This plays sounds and manages resources.
let mut manager = AudioManager::<CpalBackend>::new(AudioManagerSettings::default())?;
let sound_data = StaticSoundData::from_file("sound.ogg", StaticSoundSettings::default())?;
manager.play(sound_data.clone())?;
// After a couple seconds...
manager.play(sound_data.clone())?;
// Cloning the sound data will not use any extra memory.

项目地址:https://github.com/tesselode/kira


turbofish: 飞驰的海洋生物

Pronunciation of <[_]>

turbofish,通常用于在Rust表达式中为泛型类型、函数或方法指定参数。

这里有个小网站可以通过泛型参数自定义turbofish的形状,它的小尾巴还能游动哦:

  • turbofish-int
  • turbofish-slice

使用Rust实现一个有大小限制可过期的LRU缓存

Implementing a size-bounded LRU cache with expiring entries for my DNS server (in Rust)

跟着作者一起学习,如何使用Rust编程语言为DNS服务器实现一个有大小限制的LRU缓存,并有过期的条目。


From 日报小组 odd-cat

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Fornjot: 世界需要另一个CAD程序
  • Kira(游戏音频库) v0.6.0 - 完全重写以支持流媒体声音和更精简、更优雅的API
  • turbofish: 飞驰的海洋生物
  • 使用Rust实现一个有大小限制可过期的LRU缓存
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档