摘要:
目录预计算管线逐帧管线逐帧预计算部分Shadow Depth Pass逐帧计算部分G-Buffer PassAO PassSSAOShadow Mask PassCSMLighting PassPBR-IBL PassComposite Pass总结问题未实现管线相关知识V-Buffer(Visib 阅读全文
摘要:
***本人初学者,如有错误和更好的表述,请指出*** 这次我们看`optixSphere`程序。 同样分为`optixSphere.cpp`、`optixSphere.h`、`optixSphere.cu`文件。 **`optixSphere.h`文件** 把摄像机参数放到了`RayGenData` 阅读全文
摘要:
***本人初学者,如有错误和更好的表述,请指出*** 这次我们看`optixTriangle`程序 同样分为`optixTriangle.cpp`、`optixTriangle.h`、`optixTriangle.cu`文件 **`optixTriangle.h`文件** 其中包含的是参数结构`Pa 阅读全文
摘要:
本人初学者,如有错误和更好的表述,请指出 环境:CLion+VS2022+CUDA Toolkit 12.0.1+OptiX8 下载好后打开SDK就可以看到OptiX官方提供的许多例子,CMake配置好后点开自己想看的内容直接开始看。推荐先把GAMES101看完之后再学API。可以看看文档,但是是英 阅读全文
摘要:
《Effective C++》 条款11 在operator=中处理“自我赋值” 自我赋值 证同测试: if(this==&rhs)return*this; 影响并行处理效率 记住副本: type* memberO=member; pmember=new type(*rhs.member); del 阅读全文
摘要:
前置知识 线段树:通过懒惰标记,可实现区间处理,和区间询问皆为O(logn)时间复杂度的数据结构,是一种二叉树。因此对于一个节点st,其左儿子节点为st2,右节点为st2+1,为方便整洁,代码中使用宏定义ls(st<<1)和rs(st<<1|1)。 离散化:将无法通过开数组标 阅读全文
摘要:
题意 对于数字1~2n,可以构造出n个二元组,对于n个二元组,选择一个数组x,留下x个二元组的最小值,留下n−x个二元组的最大值,其构成了一个集合。 现在给定一个集合b,问有多少种x的取值可以得到该集合。 分析 首先判定的是x,所以对于任意x来说,前$ 阅读全文
摘要:
题意 给n(1≤n≤2∗105)\(个线段\)[li,ri](1≤li≤ri≤109),问最少删除几个线段,使得剩下线段中,有至少一个线段与所有线段相交。 分析 对于线段相交且在线段端点数据范围很大的情况下,第一想法是离散化。 如果枚举一个线段和其他所有线段判交,时间 阅读全文
摘要:
题意 给一个长度为n的数组,取m个数字,其中最大值最小值相差不大于k,问这种方式有多少种,答案\mod 10^9+7。 分析 通过简单版本大概了解了这题要枚举最小值来判断个数,那么我们枚举最小值i,其他的数都要在[i,i+k]\(中取,而不能全部都在\)[i+1,i+k]中取 阅读全文
摘要:
题意 n个人,每个人属于一个班级ci,这些人会有些小团体(并查集) 两种操作: 1 a b,将a所在的集体和b所在的集体合并 2 x y,问在x的集体中有多少人在y班 分析 看1操作是并查集,每一个人一开始有一个权值,如果两个集体合 阅读全文