GAMES101 系列总结(五):图形学中是如何表达几何体的
上一篇关于如何使用贴图的博客中我们讲了如何从贴图中提取我们想要的数据。
这篇博客我们先简单讲一下贴图的应用,然后从位移贴图过渡到集合体的表达。
几何体的应用方式
在GPU编程中,贴图就等于我们CPU编程中内存+范围查询,可以用贴图存储我们计算过程中的需要的数据并对数据进行范围查询。
所以贴图中不仅仅可以用来存储物体本身上点的颜色信息,还可以存储诸如环境信息,法线信息,位移信息等。
上一篇关于如何使用贴图的博客中我们讲了如何从贴图中提取我们想要的数据。
这篇博客我们先简单讲一下贴图的应用,然后从位移贴图过渡到集合体的表达。
在GPU编程中,贴图就等于我们CPU编程中内存+范围查询,可以用贴图存储我们计算过程中的需要的数据并对数据进行范围查询。
所以贴图中不仅仅可以用来存储物体本身上点的颜色信息,还可以存储诸如环境信息,法线信息,位移信息等。
上一篇关于Shading的博客中最后我们提到了Texture是我们用来对点进行输入的方式。
之前我们的说,每个点都有自己的UV坐标,然后通过UV坐标去贴图上找到对应的点,然后把值取出来就好,三角形中间的像素点我们可以通过中心坐标来进行插值。
但是问题来,如果我们的贴图过小,就可能导致模型是上多个点对应相同的UV,那么就会造成模糊,反之如果贴图过大,UV坐标差别过大,会造成最后产生锯齿或者摩尔纹的效果。
本文就来讲一下,游戏引擎是如何解决这两种问题的。
说起管理规划,大部分管理者并不陌生,因为管理者每半年或者每季度就需要做一次规划。有的公司叫制定KPI,有的公司叫梳理团队OKR,还有的公司叫季度规划或年度规划,总之就是要和上级约定,接下来我们要做什么,以及如何评估做的好不好,对管理者来说,这是和上级对齐的最重要的约定。
准确的说,完成团队KPI和OKR的设定,只是管理规划的一部分,因为这个只体现了上级对团队的期待,并不能完全涵盖你作为团队负责人对于管理工作的全部规划
目前我们已经介绍了图形学中的以下几个步骤:
GAMES101 系列总结(一):线性代数与模型变换中我们讲了如何通过MVP矩阵将模型上的点坐标变为[−1,1]3的一个立方体之中的坐标,这篇文章我们继续介绍,如何将这个立方体中的点绘制到屏幕上。
光栅化主要分为三个部分,首先是将所有的点拆分为一个个的三角形,这个过程叫做Triangles,在这个过程中,可能出现某些三角形覆盖的位置没法用像素来表示而导致的锯齿,所以我们要做抗锯齿,这个过程叫做Antialiasin,还有就是我们从三维映射到二维的过程中,如何进行深度测试,即如何使用Z-Buffer。
最近在使用python调用gpt的sse接口并通过sse的方式返回给自己的前端。遇到了几个问题,简单记录下,也没什么代码量,但也用了大半天的时间才搞定。
我们都知道ChatGPT的接口支持流式SSE的方式进行数据返回,而前端浏览器默认提供了EventSource去接收SSE,但是问题在于,默认的EventSource只支持Get请求,切不支持任何自定义的头部,而ChatGPT的接口就是POST请求,且需要在头部携带token,于是使用了一个微软的库,我们来解释一下它的用法,源码以及从协议角度简单说一下它的源码可以运行的基础,即它的源码为什么可以工作
最近对chatgpt能够进行流式请求返回的协议产生了一点好奇,于是就去了解了一下,一开始我以为是HTTP2,或者是WS协议,后来发现都不是,而是一种叫做SSE(Server-Sent Events)的协议。