chaooooooo
这个作者很懒,什么都没留下…
展开
-
Porting from Direct3D 11 to Direct3D 12
SwapchainsNoteNoteSwapchainsNote。转载 2023-02-02 17:46:44 · 148 阅读 · 0 评论 -
编译mesa
代码https://gitcode.net/chao56789/mesa暗转Mesonpy -3 -m pip install meson mako原创 2022-03-30 11:45:35 · 792 阅读 · 0 评论 -
软件光栅化整理资料 software rasterizer
software rasterizer关于软件光栅化Windows Advanced Rasterization Platform(WARP)Enabling Rendering When Direct3D Hardware is Not AvailableHow to Use WARPreference rasterizerMesaGallium LLVMpipe DriverOpenSWR开源代码关于软件光栅化The goal is to build a renderer without the h原创 2022-03-29 11:41:55 · 575 阅读 · 0 评论 -
opencl hsl 和 rgba 转换
bool EPSEQ(float x, float y){ float eps = 0.000001f; return fabs((x)-(y)) <= (eps);}float hue2rgb(float p,float q,float t){ if(t < 0.0f) t += 1.0f; if(t > 1.0f) t -= 1.0f; if(t < 1.0f/6.0原创 2016-02-14 14:41:28 · 1020 阅读 · 0 评论 -
opencl 返回值
Run-time and JIT Compiler Errors (driver-dependent)CodeOpenCL Error FlagFunction(s)Description0CL_SUCCESS The sweet spot.-1CL_DEVICE_NOT_FOUND转载 2017-08-24 10:55:07 · 3439 阅读 · 0 评论 -
CL_MEM_OBJECT_ALLOCATION_FAILURE
You are seeing the effect of the so-called delayed or lazy allocation, which is a very common technique used in many implementations.Basically, when an OpenCL buffer is created, it is not instan原创 2016-11-17 16:01:40 · 3683 阅读 · 0 评论 -
VS2008+OpenCL环境配置
1. 配置.cl文件支持:1.1. 打开VS2008, 工具->选项->文本编辑器->文件扩展名,添加一个新的扩展名,指定编辑器为Microsoft Visual C++ 。这样在OpenCL文件中就能显示C++的语法高亮了。1.2. 配置OpenCL语法高亮- 打开目录~\NVIDIA Corporation\NVIDIA GPU Computing SDK\OpenCL\d转载 2013-03-30 11:15:54 · 775 阅读 · 0 评论 -
英伟达硬件加速解码器在 FFMPEG 中的使用
这篇文档介绍如何在 ffmpeg 中使用 nvenc 硬件编码器。私有驱动nvenc 本身是依赖于 nvidia 底层的私有驱动的,所以想要使用编码器首先需要安装 nvidia 的私有驱动。在 NVIDIA VIDEO CODEC SDK 的介绍中说明,最新版本的 nvenc sdk 5.0 在 linux 需要 346.22 以上的驱动,在windwos 下则需要 347.0转载 2016-03-30 19:53:26 · 7241 阅读 · 5 评论 -
vulkan compute sample
#include #include using namespace std;#include #include #include #define BAIL_ON_BAD_RESULT(result) \ if (VK_SUCCESS != (result)) { fprintf(stderr, "Failure at %u %s\n", __LINE__, __FILE__);转载 2016-08-10 17:40:14 · 1442 阅读 · 0 评论 -
opencl dx11
在dx11的 deferred context 里面取不到 opencl devices需要在主线程里面的 ImmediateContext 才能取到原创 2015-07-03 10:57:42 · 468 阅读 · 0 评论 -
绕固定 xyz 轴旋转
struct mat3 { float3 x; float3 y; float3 z;};float3 rotation(float3 mp, float3 pos) { float s = 0.0f; float c = 0.0f; struct mat3 rotX; s = sin(mp.x); c = cos(mp.x); rotX.x = (float3)(1原创 2017-05-11 14:58:34 · 4007 阅读 · 0 评论 -
How to protect shader code in a release product
Option 1: Obfuscate your source and continue to use clCreateProgramWithSource. Remove all comments and make variable and function names meaningless. This will still work on all platforms and devices原创 2015-12-17 11:59:22 · 839 阅读 · 0 评论 -
opencl 插值取样的一个代码
插值的一个代码#ifndef AVFILTER_DESHAKE_OPENCL_KERNEL_H#define AVFILTER_DESHAKE_OPENCL_KERNEL_H#include "libavutil/opencl.h"const char *ff_kernel_deshake_opencl = AV_OPENCL_KERNEL(inline unsigned char转载 2016-01-25 20:03:34 · 854 阅读 · 0 评论 -
opencl with dx sharing
编程中最没用的东西是源代码,最有用的东西是算法和数据结构。nv 默认cuda 支持 opencl 1.1 只到1.1 所有可以使用 1.1 的 dx10 的 khr_sharing需要 使用 dx11 的话 nv_dx11_sharing ati 支持opencl 1.2 可以 使用 khr_sharing 注意根据扩展去区分 两种显卡 的 函数 名称原创 2014-12-03 11:38:50 · 661 阅读 · 0 评论 -
几个 shader
uniform sampler2D av_texture;varying highp vec3 v_position;varying highp vec2 v_texcoord;void main(void){ gl_FragColor = texture2D(av_texture, v_texcoord);}uniform sampler2D av_texture;var转载 2017-02-06 14:40:58 · 414 阅读 · 0 评论 -
OPENCL ROTATION x y z axis
float3 rotation(float3 mp, float3 pos) { float s = 0.0f; float c = 0.0f; struct mat3 rotX; s = sin(mp.x); c = cos(mp.x); rotX.x = (float3)(1.0f, 0.0f, 0.0f); rotX.y = (float3)(0.0f, c, -s);原创 2017-05-09 16:59:42 · 359 阅读 · 0 评论 -
common errors while programming CUDA
Unknown Error (often doesn't show up unless you call cutilSafeCall)Writing out of bounds: Check that each of your arrays has been initialized to appropriate sizes. ESPECIALLY SHARED MEMORY.D原创 2017-08-22 18:57:34 · 347 阅读 · 0 评论 -
OpenCL 优化后的卷积代码
自己修改过的 可以直接运行 卷积模板原创 2016-01-07 19:49:08 · 2560 阅读 · 3 评论 -
如何将CUDA 导入已有的C++工程中
How to Compile CUDA App is Visual Studio 2010?Yes i did, and it is working.Create C++ projectProject(right click)->build customisation Check "Cuda 7.0 compiler"*Add cudar原创 2015-10-09 11:00:43 · 1768 阅读 · 0 评论 -
alpha_blend
"__kernel __attribute__((reqd_work_group_size(%d, %d, 1)))\n" // opencl_local_work[0], opencl_local_work[1] "void %s(uint i0_width, uint i0_height, __global uchar * i0_buf, uint i0_stride, uint i0_o转载 2017-05-17 10:47:31 · 331 阅读 · 0 评论 -
openCL 优化
openCL 优化 1 LocalMemory 避免 bank conflict 每个SIMD 引擎32KB 的 LDS 被分为 32 个 Bank 每个 Bank 的带宽是4byte的数组 数组中位置为N的元素位于 Bank (N2) 中 一个时钟周期内 每个 Bank 独立工作 如果多个线程访问同一个 Bank 内的不同地址 时操作不能并行 访问同一个地址 不会造成 Bank c转载 2015-02-10 17:06:58 · 2335 阅读 · 0 评论 -
OpenCL resource management
在使用opencl 在n卡上面执行程序 在分配了大概不到40个buffer一共加起来1.5g左右的buffer在初始化 执行多次 释放 这个顺序大概几次以后 会在clEnqueueNDRangeKernel 里面出现 -4 即 buffer创建失败的错误但是全程都有释放的函数 可能在执行中由于显卡内存对齐 或者碎片等原因造成显存越跑越大 而且没办法释放下面附一个搜到转载 2017-08-30 18:13:41 · 456 阅读 · 0 评论 -
什么 D3D11 Deferred Contexts
里面有关于不同渲染方式的优缺点网址:http://docs.nvidia.com/gameworks/content/gameworkslibrary/graphicssamples/d3d_samples/d3d11deferredcontextssample.htmDescriptionThis sample shows how to use D3D11 Deferre转载 2015-07-04 14:53:29 · 2053 阅读 · 0 评论 -
在程序中使用NV 3D Vision
多年前NVIDIA就发布了3D Vision技术,能提供多种立体渲染的效果。随着2009年的电影阿凡达所带来的世界性3D狂潮,你是否也想在自己的程序中加入立体渲染呢?3D Vision的原理根据http://developer.nvidia.com/object/3d_stereo_dev.html,3D Vision的原理如下:在驱动内部,所有3D场景都渲染两次——一次用转载 2015-12-10 13:28:12 · 1092 阅读 · 0 评论 -
hellovr sample
dx11 版本的vive 的hellovr 实现http://download.csdn.net/detail/chao56789/9716144相对于 opengl 的保存到FBO里面 dx11 里面需要用到 Render To Texture--RTT渲染到纹理,顾名思义就是把渲染目标从帧缓存变成一个纹理。这样就可以把一个场景渲染后在进行Post Process,做出现原创 2016-12-20 10:57:46 · 859 阅读 · 2 评论 -
Premultiplied alpha
https://blogs.msdn.microsoft.com/shawnhar/2009/11/06/premultiplied-alpha/Remember when you first figured out Santa Claus wasn’t real? The growing doubt, tempered by the fact that all your friends be...转载 2018-04-09 18:18:15 · 542 阅读 · 0 评论 -
Sprites and textures
https://github.com/Microsoft/DirectXTK/wiki/Sprites-and-texturesIn this lesson, we will cover the basics of creating a texture from a bitmap file, and then rendering it using a 2D sprite with variou...转载 2018-04-03 18:12:30 · 235 阅读 · 0 评论 -
多线程拷贝texture
https://github.com/Microsoft/WPFDXInterophttps://github.com/leadedge/Spout2/tree/master/SpoutSDK/Sourcehttps://github.com/leadedge/Spout2/blob/master/SpoutSDK/Source/SpoutDirectX.cpphttps://github....原创 2019-03-01 20:36:05 · 542 阅读 · 0 评论 -
Living without D3DX
https://blogs.msdn.microsoft.com/chuckw/2013/08/20/living-without-d3dx/Over the past few years, I’ve been working on a number of projects in part motivated by the need to replace legacy D3DX function...转载 2019-03-04 18:14:25 · 727 阅读 · 0 评论 -
DXGI_FORMAT_R10G10B10A2_UNORM DXGI_FORMAT_R8G8B8A8_UNORM 转换
不同unorm格式转换// xxxxxxxx yyyyyyyy zzzzzzzz wwwwwwww DXGI_FORMAT_R8G8B8A8_UNORM // RRRRRRRR RRGGGGGG GGGGBBBB BBBBBBAA DXGI_FORMAT_R10G10B10A2_UNORM int r = x << 2 | y >> 6; int g ...原创 2019-04-16 11:53:35 · 1822 阅读 · 0 评论 -
矩阵-DirectX与OpenGL的不同
了解游戏里面的矩阵变换矩阵是三维图形学中不可或缺的部分,几乎所有和变换相关的操作都涉及矩阵,世界变换,视图变换,投影变换,视口变换无一不需要矩阵,但是当今的两大主流图形库DirectX和OpenGL对矩阵操作却有着细微的差别,大多数的图形学书籍都以OpenGL为基础进行阐述,游戏编程类的书籍则更多使用DirectX,这就难免产生混淆,今天这篇主要讲讲两者在操作矩阵的时候有何不同。矩阵转载 2015-07-10 17:53:18 · 525 阅读 · 0 评论