2010-02-19 2 views
1

В XNA, вы можете сделатьIDirect3DTexture9 :: SetData?

texture = new Texture2D(GraphicsDevice, width, height) ; 

Я предполагаю, что где-то глубоко в недрах MSFT, это эквивалентно C++ код:

D3DXCreateTexture(GraphicsDevice, width, height, 1, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, &texture) ; 

В XNA есть эта отличная функция, которая позволяет вам установить значение пикселей текстуры вы создали:

texture.SetData<Color>(new Color[]{ pixel, values, pixel, values) ; 

Теперь я уверен, что там должен быть C++ DirectX эквивалент. Кто-нибудь знает, что это?

ответ

2
+0

Ну, что только получить указатель на данные, пожалуйста, помните, что не все тип текстуры запираются в DX9. (рендеринг текстуры цели или глубины не блокируется.) В этом случае используйте UpdateSurface для обновления текстур/поверхностей. (только для целей рендеринга, поскольку текстуры глубины не являются обновляемыми (за исключением некоторых карт с хаками)) – feal87

Смежные вопросы