- 博客(7)
- 收藏
- 关注
原创 视野剔除[初稿]
在渲染中,有个例子是:渲染摄像机视野中的cube,仅且只渲染3个面即可方法是每个面中一个三角形的三个点以逆时针(这个跟左右手系有关)形成两个向量,叉积得到法向量与摄像机正方向的夹角大于90为正面(小于为背后,应剔除)计夹角就是点积法拓建:客户端视野计算得到该隐藏的物体。因为不在摄像机视野内的物件也是需要渲染消耗...
2021-01-19 19:24:57
142
原创 两个向量的点积和叉积
模长:|c|=|a×b|=|a||b|sinθ二维空间中几何意义:1.向量a,b共起点时,所构成平行四边形的面积2.c.z=a.x*b.y-b.x*a.y=k,如果k>0时,b在a的顺时针方向(0-180°),如果k<0,b在a的逆时针方向(0-180°),如果k=0 那么a,b向量平行或共线,k值可以决定b在a的左或右额外知识点三个向量的混合积几何意义:混合积[abc]=(a×b)·c可以得到以a,b,c为棱的平行六面体的体积。混合积正负的几何意义:混合积 (a,b,c) 的符.
2021-01-14 21:20:51
1499
2
原创 矩形碰撞检测
碰撞体离中心最近的一个三角形判断方法1 面积法:三角形三个点两两分别于碰撞体顶点组成新三角形,这三个新三角形面积和与矩形的三角形面积相等则在内。但可能存在浮点的情况,因此精度计算反而不准确2 碰撞体顶点与三角形三个顶点形成向量,分别与三角形三条边的向量进行叉积得到法向量方向,都同向则在内。如点P,三角形ABC,就是AP和AB,BP和BC,CP和CA进行判断3 重心法(速度快)原理:A为坐标中心点来计算P = A + u * (C – A) + v * (B - A)u >= 0.
2021-01-14 21:02:33
708
原创 堆排的理解
1.大堆排数组(c++的数组,初始索引是0的)将[len/2]-1(其中[len/2]向下取整)的索引k对其子叶进行比较大小并进行交换(均大则取最大的子叶)子叶的索引2*i+1和2*i+2(i为当前索引)同理对k-1进行比较(k-1 == 0 时,比较好后就得到大堆)将0和len交换踢出len得到最大再次进行大堆排(因为可能不是大堆的)再进行0和len-1交换踢出len-1得到次大...
2021-01-14 20:58:37
117
原创 topK常见3种解法
1.对所有数组取最大,去k次(已取则不重复)。重复数比较多2.快排得右侧n个数的数组,如果k==n,那就得到k个最大了;k>n从左侧数再快排取k-n个最大;k<n从右侧继续快排k个最大。需要一开始申请空间3.堆排,拿k个数做小堆排,将剩余n-k个逐个与堆顶(即堆中最小值)比较,大就交换并将堆重新小堆排。保存k个最大进行比较,有大于时需要重新堆排...
2021-01-14 20:56:59
203
原创 随机数产生器的3种准则
(1)这个函数应该是一个完整周期的产生函数。也就是说,这个函数应该在重复之前产生出0 到m之间的所有数;(2)产生的序列应该看起来是随机的;(3)这个函数应该用32bit 算术高效实现。
2021-01-14 20:55:40
256
原创 Unity_UGUI_优化_Vanson
简述几点有关U3D的UGUI优化点。(以下词汇与理解纯属个人的了解)DrawCall尽量避免贴图重叠。如果实在无法避免,可以考虑将当前的UI截屏添加到一个renderer texture,并将UI隐藏或设置透明度。可以避免DrawCall的值增加。TEXT组件尽量不使用Beat fit。因为Unity是将当前字体以及所涉及到的文字打包成一个文字集(类似图集),如果勾选了Bea...
2019-04-02 21:46:29
209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人