opengl - What is a dependent texture read? - Stack Overflow

大致的意思就是,并不是从顶点着色器传过来的uv直接进行使用,而是做一些计算处理,这样就会带来这个依赖纹理读取。

因为他会影响性能,所以我们大多数的情况,会把纹理UV相关的计算都放在VS中。

光滑曲线插值,就是在双线性插值执行之前,对uv做一个额外的处理。

效果居中,但是消耗要比卷积的少。还是较常用的。

算是纯插值和卷积之间的一个折中,效果和性能消耗的折中。

===============上边是纹理放大的情况。放大了,如果颜色直接取最近,就会多像素取到一个纹素等情况,从而出现锯齿。所以需要结合周围的综合考虑。插值和卷积都是插值,插的方式,各纹素占比计算方式有所不同罢了。

这时候一个像素对应很多的纹素,颜色会有丢失,由于丢失了,移动的时候,还会出现闪烁的效果。

临近插值就找最近的。双线性插值就是混合周围的。和之前类似。

最好的方式就是一个像素对应一个纹素,要想实现这一点,增大采样频率,或者降低纹理的频率。

采样插值的方式,是增大采样频率的方式。

降低纹理的频率,可以使用mipmap。

其实这里说的偏导,应该是:首先说函数,这里的函数自变量就是x和y,在左边图中,我们取一个像素周围像素,也就是x在发生变化,然后因变量就是u或者v,算是两个函数。

这里想要的是x变化1的时候,整个长度L的变化量是多少,然后这个就取决于u和v的变化量,那么这里就要去求u和v的偏导。

这个就是更高级的插值算法了,202的第四节有讲,就是那个前缀和的玩法。

这里说的意思就是:开启了各向异性,但是内存只是大了1/3,并非计算的3。

原因就是:这里用的根本不是刚刚说的带拉伸的各向异性的纹理图。而是最初始的mipmap图,然后用这个图执行一个各向异性过滤,具体就是:把像素映射到纹理上边,首先找一个最短的边,确定level,然后沿着最长的边进行多次的采样。假设这里最短边,选了level2,那么他就会把level2的纹理铺在右边这个图上,然后再进行采样,根据这个面积覆盖了那些像素,从而对相应的像素进行一个采样。这样处理,不管你多么畸形,都不会受影响。纹理内存只需要多了1/3。采样的次数多了。

各向异性越高,也就是它越畸形,越不像正方形,越像大长条,他的采样次数就越多,消耗就越高。

这里采样次数有一个上下,说了个什么GPU 16啥的,然后128次。

纹理相关的优化:

CPU优化和重要方向,就是降低drawcall。

首先有一个认知,就是cpu要慢,它提交渲染命令,加载东西,这个耗时间多。drawcall会拖慢速度。

降低drawcall的方式:

GPU优化,就是显存带宽。就是GPU读写他的显存的速度。这个很多时候速度的拖慢,都是因为纹理太大了,所以

-8.4绝对值是最大的,说明另外两个维度是绝对值小于8.4,那么范围就是-8.4到8.4都有可能,然后除以8.4就是-1到1,加1除以2,正好最终范围是0到1.

位移贴图效果确实不错,但是是由要求的,需要表面的顶点数比较多,否则效果就不好。

比如三角形的频率低于纹理定义的频率的话,那么会有很多的空洞的部分,也就是纹理上一些纹素,根本没发挥作用。

这就是DX后来提供了曲面细分的玩法。就是不需要足够细的模型,等到需要的时候,然后再细分。

细分本身并不能提高模型的精细程度,你本来是一个三角形,一个面上的,细分的结果还是一个面,虽然有了很多的三角形。让他细节更多的是位移贴图。

===============================================================================

这个啥也没听懂~~~~

=========================

从物理视角来看这个:

思考为啥。

我们看到颜色,感知到颜色,是因为光的存在,而光本身是波,是有能量的,而我们对光的描述,使用光波来完成的,但是如果对色彩也这么干,那就太不直观了。——分光光度计。

这里想要表达的就是,人眼在看亮的或者暗的物体的时候,都能够看清其中的细节。这在摄影上是光圈对于曝光的控制,这样控制光圈能够让拍摄出的照片细节清晰一些。

人眼就是能够自动曝光的。

HDR 是什么?有哪些具体介绍? - 知乎 (zhihu.com)

而同时出现最亮和最暗的时候,不能保证看到所有的细节。因为这会俩是相矛盾的。

这个是一侧打出来某一个光,测试光,然后另外一侧用RGB三种光进行不断的调整,直到两个光颜色基本相等,这样就把测试光对应的RGB值就得到了额。

都测试出来之后,搞出来了一个曲线,各种波长的测试光对应的RGB。

然后发现了负数,进行了归一化,箭头指向的地方是归一化的方式。

因为三者之间存在一个等式关系,所以三个变量实际上确定了两个,就可以确定表示的颜色,那么就可以用两个作为变量来画一个图。

这样就把任何一个可见的光,都通过坐标点来描述出来。

这个是三维的:

现在xyz都是正数了。

这个XYZ其实就是在原来的RGB基础上进行了一个变换,变换到了全是正数的空间下。然后由于这里矩阵式太多小数,所以这里又进行了归一化。

其实刚刚的XYZ,也是三个变量确定俩就确定了颜色,那么就变成二维的也就是上边的,然后缺少亮度,这里就又加了一个新的Y轴,作为亮度。

可以看出绿色面积很大,过渡的比较平滑,而蓝色就很陡峭了。

那么可以自己去重新定义一个色彩空间。

色彩空间之间的相互转换,可以用代码实现一下。

===============================================================================================================

这里地板,既能看到表面透明油漆形成的反射,也能透过油漆看到地板。

顶点色的其他作用 - 知乎 (zhihu.com)

这样可以少用一张贴图。

其他信息塞进去的时候,需要是线性的数据,如果不是,那么待会插值会有精度的损失,所以这种非线性情况下可以权衡一下在决定是否使用这种方法。

=======================================================================================

Graphtoy

直接在网站上写这些函数就能即时看到效果,不用写shader。

这里的noise函数,输入是一个二维向量,输出的是-1到1,他就是根据输入,然后采样得到一个-1到1。

这里的out表示输出参数的关键词。

双曲正余弦,三角函数的正余弦是通过单位圆定义的,而这个双曲正余弦是通过双曲线来定义的。

这里的无穷是0x3f3f3f3f这个数,而且它满足无穷加无穷等于无穷。

Distance 返回的是两个向量终点之间的距离,其实可以直接认为,ab表示的是两个点,然后返回的是两个点之间的距离。

这里的cross,叉乘的结果的模,几何意义是组成的平行四边形的面积。叉乘的结果本身是一个矢量,几何意义就是平面的法线。

其实这里说的偏导,应该是:首先说函数,这里的函数自变量就是x和y,在左边图中,我们取一个像素周围像素,也就是x在发生变化,然后因变量就是u或者v,算是两个函数。我们看到颜色,感知到颜色,是因为光的存在,而光本身是波,是有能量的,而我们对光的描述,使用光波来完成的,但是如果对色彩也这么干,那就太不直观了。其实刚刚的XYZ,也是三个变量确定俩就确定了颜色,那么就变成二维的也就是上边的,然后缺少亮度,这里就又加了一个新的Y轴,作为亮度。这里的cross,叉乘的结果的模,几何意义是组成的平行四边形的面积。 若输入含有多个通道,则对于某个 卷积 核,分别对每个通道求feature map后将对应位置相加得到最终的feature map,如下图所示: 若有多个 卷积 核,则对应多个feature map,也就是下一个输入层有多个通道。如下图所示: 图像上采样的三种方法:上采样指的是任何可以让图像变成更高分辨率的技术 方法一 :反 卷积 (1)正常 卷积 在介绍反 卷积 之前,我们需要深入了解一下 卷积 ,一个简单的 卷积 层运算, 卷积 参数为i=4,k=3,s=1,p=0i=4,k=3,s=1,p=0i=4,k=3,s=1,p=0
双三次 插值 数学原理及其 卷积 算法 原理(Bicubic Interpolation) 本文是维基百科上双三次 插值 的中文翻译,如有侵权会立即删除。本人刚学图像处理,第一次翻译英文文章,水平有限,如有错误还请指正。 附上原文链接:https://en.wikipedia.org/wiki/Bicubic_interpolation 单位正方形中的 插值 平面计算: 假设在单位正方形的四个顶点上函数f的函数值、x偏导、y偏导、xy混合偏导都已知。 插值 曲面p(x,y)可以写为: 通过这4个点f的信息,去确定一个曲面P(x
使用DAG货币转换来查找如何通过进行快速货币转换来赚钱。又名给定货币转换网格,在少数货币之间找到了欧拉回路,该回路必须比开始时多付X%的钱。 找到友谊的程度 对于网格:将图像加载为网格并在其中查找组件,也称为边缘检测 数据库性能 名称(我们的时间) OPS(Kops / s) test_performance_of_saving_all_graphs_into_storage 46.5050 132.3730 49.8334 20.0669 来源: :
CSS中的浮动属性可以用来控制元素的位置和布局。通过设置元素的浮动属性为left或right,可以使元素脱离文档流并向左或向右浮动。浮动元素不再区分行内和块级元素,并且可以设置宽度和高度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CSS 学习 笔记 04 、浮动与定位](https://blog.csdn.net/cl939974883/article/details/124601968)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [CSS+CSS3动画—— 笔记 整理](https://blog.csdn.net/dengna1998/article/details/109125546)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]