Форум программистов, компьютерный форум, киберфорум
DirectX
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 04.05.2015
Сообщений: 9
1

D3D11 Константный буфер, размеры

06.06.2015, 01:19. Показов 1261. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сразу к делу, вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ID3D11Buffer* GraphicsDevice::CreateAB(UINT Size)
{
    ID3D11Buffer* AB = NULL;
    D3D11_BUFFER_DESC Buffer;
    ZeroMemory(&Buffer, sizeof(Buffer));
 
    Buffer.Usage = D3D11_USAGE_DEFAULT;
    Buffer.ByteWidth = Size;
    Buffer.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
    Buffer.CPUAccessFlags = 0;
 
    D3DDevice->CreateBuffer(&Buffer, NULL, &AB);
 
    return AB;
}
Если переменная Size равна значению, которое можно делить на 16, то
константный буфер создаётся, если же остаётся остаток от деления, то
возвращается NULL.
Хотя я заметил, что если сменить
D3D11_BIND_CONSTANT_BUFFER на D3D11_BIND_VERTEX_BUFFER, то
буфер создаётся при любых размерах.
Как это исправить, имея такую структуру:
C++
1
2
3
4
5
struct LightParameters
{
    Vector3 LightPosition;
    Color LightColor;
};
Размер данной структуры равен: 3*4 + 42 = 28.
Соответственно, возникает ошибка, E_INVALIDARG, возвращается NULL.

Знаю, что можно поставить Vector4 и всё будет работать(Размер равен 32), но
есть ли более рациональный выход?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2015, 01:19
Ответы с готовыми решениями:

Константный метод и константный аргумент в методе
Товарищи! Возник вопрос, в чем же разница, между константным методом и ссылкой на const объект в...

Что значит константный указатель на объект, указатель на константный объект, и как это можно использовать?
Подскажите, что значит константный указатель на объект, указатель на константный объект, и как это...

[D3D11] Отрисовка многослойной 2d сцены
Я пишу движок для своей 2d игры. Сейчас пытаюсь оптимизировать отрисовку сцены, опыта еще мало,...

D3D11 - Отрисовка изображения в заданной части окна
Добрый день всем! Надеюсь на помощь форумчан в следующем вопросе: Итак, есть тектура, т.е....

0
06.06.2015, 01:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2015, 01:19
Помогаю со студенческими работами здесь

Нажатие клавиши в окне d3d9 или d3d11
Есть игра в ней нужно нажать программно допусти цифру 1 Хендл нашел проверил все в порядке...

Крашатся некоторые приложения, сбойный модуль — d3d11.dll
На данный момент крашится Dark Souls 3 Имею Windows 7 64 bit Ultimate, Geforce GTX 950 1)...

Заданы размеры прямоугольного отверстия A,B и размеры кирпича X,Y,Z. Определить, пройдет ли кирпич в отверстие
Помогите пожалуйста решить задачу на С++ про кирпич Условие: Заданы размеры прямоугольного...

Заданы размеры прямоугольного отверстия и размеры кирпича. Определить, пройдет ли кирпич в отверстие
Заданы размеры прямоугольного отверстия A,B и размеры кирпича X,Y,Z. Определить, пройдет ли кирпич...

Заданы размеры A, B прямоугольного отверстия и размеры X, Y, Z кирпича. Определить, пройдет ли кирпич через отверстие
Не очень понимаю как в программе все это определить. Объясните пожалуйста, если можно с кодом :)

Вывести на экран размеры типов и размеры указателей на объекты
Составить программу, которая позволяет вычислить и вывести на экран размеры типов и размеры...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru