一、背景
已经在OpenGL中实现了3Dlut滤镜,下面需要在DirectX中做实现
二、方法一
在d3d上下文中创建d2d对象,再用d2d的内建效果实现lut滤镜。
原理
https://docs.microsoft.com/en-us/windows/win32/direct2d/3d-lookup-table-effect
实现demo
https://download.csdn.net/download/dustpg/7830947
备注:这种方法用d2d可实现lut滤镜,但是d3d9不支持创建共享资源给d2d,一直到d3d10之后才支持,因此方法1只适合d3d10以后的版本,d3d9的实现参见方法二
三、方法二
和OpenGL一样,实现lut滤镜首先要做以下几件事
1.创建3D纹理
D3DXCreateVolumeTexture(m_Device, 32, 17, 17,