我希望使用XNA-4.0從3D模型的相機視圖動態創建圖像(作爲Texture2D)。我可以設置一個模型和相機來獲得我想要的視圖,但是因爲我需要在每一幀中同時爲許多大型和複雜模型執行此操作,爲獲得最佳性能,我認爲如果我可以以某種方式代替它,計算量會大大減少將該視圖繪製或寫入一次位圖,然後重複將其投影到屏幕上。如何使用XNA從模型生成位圖?
1
A
回答
0
使用渲染目標放在視內容到紋理。創建它,在繪製之前綁定它,然後解除綁定並調用GetTexture。它們非常快,可以同時使用(MRT - 多個渲染目標,afaik)。例如,我使用四個渲染目標將我的數據提供給延遲渲染管線。
0
+0
這是一個偉大的文章,它涵蓋正是我試圖完成,但除了是有關DirectX,實際上它並不提供任何代碼示例(代碼的所有鏈接都被打破)。不錯的概述。 – user2340426 2013-05-14 20:37:59
0
對於其他人尋找一個簡單的例子: -
int _newTextureWidth = 800;
int _newTextureHeight = 450;
Texture2D _newTexture = new Texture2D(GraphicsDevice, _newTextureWidth, _newTextureHeight);
RenderTarget2D _target = new RenderTarget2D(GraphicsDevice, _newTextureWidth, _newTextureHeight);
// Point the GraphicsDevice to your new RenderTarget so that all Draw calls output here.
GraphicsDevice.SetRenderTarget(_target);
GraphicsDevice.Clear(Color.Transparent);
// Do DrawModel and any other Draw calls here
// Reset the GraphicsDevice to ouput to the Screen again;
GraphicsDevice.SetRenderTarget(null);
//Finally simply cast to your new Texture2D
_newTexture = (Texture2D)_target;
相關問題
- 1. 如何使用Backbone.js生成模型ID
- 2. 如何使用iciql模型生成
- 3. 如何從生成的模塊生成多模塊原型?
- 4. 如何從軌道模型生成plists?
- 5. 如何從c#類生成angularjs模型
- 6. 如何從實體生成元模型?
- 7. 如何使用rails生成2個模型生成命令
- 8. 從視圖生成位圖
- 9. 從動態模型生成視圖
- 10. 如何使用GLKit的GLKMatrixStack庫生成模型視圖矩陣?
- 11. 如何使用edmgen.exe生成模型時排除視圖?
- 12. 如何生成BlToolkit模型
- 13. Z3如何生成模型?
- 14. 如何使用模型動態生成模型的紋理圖像。 (Unity3D/C#)?
- 15. 如何使位圖生成SWF文件
- 16. 生成模型圖loopback
- 17. 如何從關係模型生成UML類模型?
- 18. 在Rails中,如何從現有模型生成展示視圖?
- 19. 如何從EF Core中的模型生成類圖?
- 20. 如何從圖形模型生成代碼爲specefic api?
- 21. 如何從Oracle生成數據模型圖sql developer
- 22. 從xml生成django模型
- 23. 從Rails Schema生成模型
- 24. 從類生成CoreData模型
- 25. 從模型生成viewmodel?
- 26. 從GestureOverlayView生成位圖
- 27. 使用XNA最佳WP7位圖繪圖
- 28. 使用位圖圖像生成OutOfMemoryError
- 29. 生成調用圖形模型MoDisco
- 30. 如何使用淘汰賽爲視圖模型動態生成html模板
我認爲渲染目標是我需要使用的。你不會碰巧有一個簡單的例子,你呢? – user2340426 2013-05-14 20:39:41