<p>You should be able to use <a href="https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/sm5-object-rwtexture3d" rel="nofollow noreferrer">RWTexture3D</a>.<br>
The <a href="https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/sm5-object-rwtexture2d" rel="nofollow noreferrer">hlsl documentation page about RWTexture2D</a> also has sample code that you might find useful. </p>

CC BY-SA 4.0
2019-02-07T23:09:07.930Z
Thanks, that's what I'm doing atm. Your second link is pointing to RWTexture3D, I tihnk you meant [link](https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/sm5-object-rwtexture2d)
Ignacio del Barrio
CC BY-SA 4.0
2019-02-07T21:12:32.830Z
2019-02-08T10:09:10.523Z
2019-02-08T10:09:10.523Z
wip
<p>I'm trying to port part of an OpenGL program into an existing DirectX 12 software, at some point in their shaders they use OpenGL <a href="https://www.khronos.org/opengl/wiki/Image_Load_Store" rel="nofollow noreferrer">ImageLoadStore</a> in order to store information in 3D Textures without having to use an FBO.</p>

<p>Is there something similar in the DirectX 12 API? 
Or would I have to render to a custom FrameBuffer?</p>

CC BY-SA 4.0
2019-01-30T13:18:14.300Z
[This related question](https://computergraphics.stackexchange.com/q/4422/6) and its answers should get you a little further. DirectX 12 is actually more similar to Vulkan than to OpenGL, but with the help of those tables you should be able to figure out the further DirectX keywords you should be looking for. But...rest assured that something to the effect of loading/storing data in aribtrary memory locations of arbitrary textures is definitely possible in DirectX 12.
Christian Rau
<shader><directx12><image-load-store>
Is there an analogue of OpenGL's ImageLoadStore in DirectX 12?
Ignacio del Barrio
# Is there an analogue of OpenGL's ImageLoadStore in DirectX 12?

(Asked by: username_0 on 2019-01-29)

I'm trying to port part of an OpenGL program into an existing DirectX 12 software, at some point in their shaders they use OpenGL [ImageLoadStore](https://www.khronos.org/opengl/wiki/Image_Load_Store) in order to store information in 3D Textures without having to use an FBO.

Is there something similar in the DirectX 12 API?
Or would I have to render to a custom FrameBuffer?

**Tags:** shader, directx12, image-load-store

> **Comments:**
> **username_1**: [This related question](https://computergraphics.stackexchange.com/q/4422/6) and its answers should get you a little further. DirectX 12 is actually more similar to Vulkan than to OpenGL, but with the help of those tables you should be able to figure out the further DirectX keywords you should be looking for. But...rest assured that something to the effect of loading/storing data in aribtrary memory locations of arbitrary textures is definitely possible in DirectX 12.  

---

## 1 answers

### Answer by username_2 on 2019-02-07. Score: 2 | Accepted answer

You should be able to use [RWTexture3D](https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/sm5-object-rwtexture3d).  
The [hlsl documentation page about RWTexture2D](https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/sm5-object-rwtexture2d) also has sample code that you might find useful.

> **Comments:**
> **username_0**: Thanks, that's what I'm doing atm. Your second link is pointing to RWTexture3D, I tihnk you meant [link](https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/sm5-object-rwtexture2d)  

---

