- 博客(5)
- 收藏
- 关注
原创 GL error Invalid operation:Optix7官方Demo奇怪问题解决方案
最近想用Optix写点东西,打算先跑跑半年之前编译过的Optix7官方Demo,结果出现奇怪的问题:GL error Invalid operation at D:\programs\OptiX\OptiX SDK 7.0.0\SDK\sutil\sutil.cpp(344): glClearColor( 0.212f, 0.271f, 0.31f, 1.0f )本来以为是自己之前改过代码并且编译过,结果去官网重新下了最新的代码,重新编译。还是同样的问题。仔细回想可能跟这台电脑换了GPU有.
2021-02-26 21:39:02
467
原创 使用GPU加速图片处理的多种方案解析
图片处理是最常见的任务之一。如果是熟悉计算机视觉方向的肯定对OpenCV+Numpy的方案不陌生:用OpenCV读取图片,用Numpy的矩阵操作快速完成处理。由于OpenCV支持所有格式的图片,而Numpy对于其内置的算法都实现了CPU端的并行化,因此这一套流程可以很方便又快速地实现图片处理。然而,当且仅当你的处理算法可以用Numpy的操作实现时,才能够得到满意的加速效果。如果你的算法需要遍历矩阵,效率就会大大折扣。我之前写了一篇如何使用NVidia的Falcor框架来实现快速的图片处理的文章,感兴趣的
2021-02-05 20:41:58
4129
原创 如何使用nVidia Falcor渲染框架进行GPU加速的图片处理
图片处理在很多领域中都有很大的需求,比如计算机视觉等。比较简单且常用的方法是用openCV读取图片,然后用numpy进行图片处理。然而,只有当处理算法能够完全用numpy中提供的矩阵操作实现时,才能够享受numpy的并行加速的优势。如果你的算法需要使用循环去遍历矩阵,这时的效率就会慢到无法接受。有一种可行的方法是手写cuda kernel,然而笔者的cuda水平并不过关,因此考虑到使用Falcor来进行快速的图片处理。FalcorFalcor是nVidia开放的一个渲染框架,用户可以自行编写Re
2021-02-02 21:05:14
1180
1
原创 Unity移动平台 后处理shader的问题
最近在做项目的移动端移植的时候,发现在PC上正常的后处理shader在移植到移动端后就出现奇怪的问题,shader没办法正常工作,没有任何东西渲染到render target里面。后来经过认真检查后发现,需要在shader中加入Cull Off ZWrite Off ZTest Always...
2020-09-14 15:01:38
741
1
原创 从Debug Assertion Failed: _CrtIsValidHeapPointer(block)看shared_ptr
最近给自己的渲染器实现一下BVH树来进行求交加速的时候,设计了一个数据结构BoundingBox。BoundingBox之间层级嵌套,位于叶子的box保存了对应的图元最小单位(比如三角形)。这里实现的方法是每种图元实现一个GenBox的虚函数,在GenBox时把自身作为参数传进去。比如Plane的对应函数如下:std::shared_ptr<BoundingBox> Plane::GenBox() const { double xMin, xMax, yMin, yMax, zMin
2020-07-03 20:01:56
519
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人