Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.6k views
in Technique[技术] by (71.8m points)

directx 12 - DirectX12 rendering to part of the window

I am trying to have the DirectX12 pipeline render to only part of the window, not the full window. Is that even possible? I can manually translate the vertices, or set the screenViewport to be a smaller size, but the renderer still renders to the whole window, setting a background color to that which is unrendered.

Even if I set the backbuffers size to be the smaller size, the target view is still the whole window. How can I change the target view to be just a part of the window?

I must be missing something about CreateRenderTargetView()


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can pass D3D12_RECT to ClearRenderTargetView to specify what portion of a render target to clear. So set your viewport of smaller size, clear only that part and you should be good to go.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...