最近在使用wgpu做一个类似MineCraft的demo,当进行贴图采样时发现了一些问题。 由于texture很小(16px*16px)的缘故,默认的双线性采样、mipmap、各项异性抗锯齿都会有许多问题。一开始我想到了两个方案: 近处使用临近采样,远处使用双线性采样并开启mipmap和各项异性采样。 在把texture传入显存时对它做上采样到足够…
一直想从头做些图形学的小demo玩玩,之前熟悉了下C++下的Vulkan和Rust的wgpu这几个库。C++太复杂了光是各种特性就要理解好久,编译链接更是头大,决定还是使用Rust。Rust下用的人比较多的图形库就是wgpu了,它甚至可以视为是一个RHI,用了下API挺方便的,文档注释也很全,但它没有对光追做原生支持,最后挑了个相对小众的库Vulk…
学了一段时间Rust和Games101的图形学入门课程,有点想做个软渲染器玩玩,正好看到了Ray Tracing In One Weekend的文章,觉得我应该能依葫芦画瓢复刻下,巩固各种知识,于是就有了这个项目。 仓库地址:https://github.com/YostGray/rust_soft_render. 最终效果 1.实现图片输出 原书…
在这个Demo中,为前后端了一致性,服务器需要进行物理运算与权威结果的发布。为了不使得技术栈过于复杂,前后端都使用Unity来编写,其中后端使用无头模式。 消息的组成 Demo使用了ProtocolBuffer3来作为通信的中间载体。具体请看上一篇。而序列化的消息都由消息头和pb3序列化信息组成。 消息头 消息头的数据如下所示: public st…
这篇文章没有摘要
参考:https://gafferongames.com/post/reliability_ordering_and_congestion_avoidance_over_udp/ TCP有一套自己的机制来实现重传和顺序;但它因为缓冲区和顺序会有比较大的延迟。而游戏开发中通常是希望大量小延迟的传输的(甚至只有最近的几个包有用)。 UPD要实现一个不同…
PrococolBuffer使用 Google开发的ProtocolBuffer是目前使用相当广泛的跨平台序列化机制;比起Json和XML它更快、更简单,也支持自定义的数据结构。关于速度的测试 官网语法手册 1.生成供C#使用的ProtocolBuffer 对于C#来说,ProtocolBuffer会根据.proto文件生成一系列.cs文件来定义各…
概要 对于游戏开发来说,资源管理是必不可少的。Unity中使用AssetBundle是大部分开发者的选择,但是使用官方的AB标签形式去打包的话,需要管理每个资产的标签,这有些分散与不易不易组织。而AddressableAsset目前没看到大规模使用的资料,而Unity的新技术总是没那么让人放心。所以最终我决定仿照大部分的项目自己写一个AB打包以及加…
官方页面
作者 Sean Barrett来自 Silver Spaceship Software原文 在这篇文章中我将阐述一种对于王氏网格(Wang Tile)技术的扩展,它使用许多小2D区域生成大的2D区域。我将其命名为斜拼王氏网格(Herringbone Wang Tiles)。它也特指由Sucker Punch制作的《Infamous》的地图生成系统。…