0%

渲染流水线的起点是CPU,即应用阶段。

应用阶段大致可分为三个阶段:

  • 把数据加载到显存中。
  • 设置渲染状态。
  • 调用 Draw Call
    阅读全文 »

本笔记总结自《Unity Shader 入门精要》第二章

三个阶段

《Render-Time Rendering,Third Edition》一书中将一个渲染流程分成三个阶段:应用阶段(Application Stage)、几何阶段(Geometry Stage)、光栅化阶段(Rasterizer Stage)。

注意:这里仅仅是概念性的阶段,每个阶段本身通常也是一个流水线系统,即包含了子流水线阶段。

阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
var nums = new int[100];
var random = new Random();
for (int i = 0; i < 100; i++)
{
nums[i] = i;
}
for (int i = 0; i < 100; i++)
{
var r = random.Next(i, 99);
Swap(ref nums[i], ref nums[r]);
}

什么是算法的稳定性

稳定排序就是能保证排序前两个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。

稳定排序算法

阅读全文 »

实现思路

以一值为基准,将比所有数划分为两部分,一部分比基准值大,一部分比基准值小。循环操作。

思路分析

阅读全文 »

1
2
3
4
5
6
7
8
9
printf(2);
for (int i = 3; i <= 100; i++) {
for (int j = 2; j <= i; j++) {
if (i % j == 0 && i != j)
break;
if (i == j)
printf(i);
}
}
阅读全文 »

Resources StreamingAssets
文件权限 只读 只读
是否添加到发布包
文件内容 加密 原始
加载方式 Resources WWW

配置表设计

前提

  • JsonUtility 只能对类进行序列化和反序列化,不能直接对链表,数组直接进行序列化和反序列化,更不能对字典进行序列化和反序列化;
    • 对链表,数组进行序列化和反序列化,需要将其包装在一个类里面;
    • 对字典,需要转换成链表,数组,再进行序列化和反序列化。

JSON配置表相关设计如下:

  1. 对于单个 JSON 配置表都需要有对应的两个类:
    • 实体类,存储配置表中每一行数据;
    • 配置表类,用一个链表存储所有的实体类。
阅读全文 »

JsonUtility 须知

  • JsonUtility 效率高
  • JsonUtility 无法直接的对 List 对象进行序列化和反序列化,需要将 List 包装(Wrap)到一个类当中,然后序列化和反序列化包含这个List 的对象即可。
  • JsonUtility 不支持 Dictionary。官方的文档中有说明
  • 我们要做的就是在JsonUtility局限性或者说是“规则”之下去使用。比如 Dictionary 可以使用数组来替代,一定要使用 Dictionary,则可以进行二次转换。

JsonUtility 示例

下面是两个在所有示例中通用的类

阅读全文 »