Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / [D3D11]Base render pipeline

[D3D11]Base render pipeline

Страницы: 1 2 3 4 Следующая »
OsirisПостоялецwww11 янв. 201819:18#0
Добрый день,

Дошли руки, наконец, до D3D11, до этого много работал с D3D9 в основном.

Я пытаюсь вывести простые примитивы с ортогональной проекцией, вроде мы все создал необходимое, установил все и ничего на экране не увидел, отладчик мне показывает, что до стадии Pixel Shader даже не дошло.
d3d_debug | [D3D11]Base render pipeline

Я выключил culling, depth вроде бы тоже нормальная, что я еще мог упустить не подскажите?

Обновление. Вот что показывает shader debugger, depth вроде бы вполне проходит
output | [D3D11]Base render pipeline

Правка: 11 янв. 2018 19:28

innuendoПостоялецwww11 янв. 201819:40#1
Osiris

ох, в DXSDK есть туториалы DX11

OsirisПостоялецwww11 янв. 201819:42#2
innuendo
Не собирается под VS 2015, да и просмотрел я основные туториалы, все как обычно - ставим VB, IB, VD (Input Layout), VS, PS, и рендерим
innuendoПостоялецwww11 янв. 201819:45#3
dxdebug ?
OsirisПостоялецwww11 янв. 201819:49#4
innuendo
> dxdebug ?
D3D11_CREATE_DEVICE_DEBUG - это?
innuendoПостоялецwww11 янв. 201819:50#5
Osiris

и OutputDebug

innuendoПостоялецwww11 янв. 201819:51#6
Osiris
> все как обычно - ставим VB, IB, VD (Input Layout), VS, PS, и рендерим

осталось только повторить у себя ... броненосцы на тебя злые :)

OsirisПостоялецwww11 янв. 201819:52#7
innuendo
> OutputDebug
а как возвращаемое значение получить после вызова метода скажем DrawIndexed?

Ага, включил debug, получаю только:
D3D11 WARNING: ID3D11DeviceContext::DrawIndexed: The Pixel Shader unit expects a Sampler to be set at Slot 0, but none is bound. This is perfectly valid, as a NULL Sampler maps to default Sampler state. However, the developer may not want to rely on the defaults.  [ EXECUTION WARNING #352: DEVICE_DRAW_SAMPLER_NOT_SET]

Но это я и так знаю, ща уберу текстуру пока.

Правка: 11 янв. 2018 19:55

innuendoПостоялецwww11 янв. 201820:16#8
clear color хоть работает? :)
OsirisПостоялецwww11 янв. 201820:19#9
да, конечно
innuendoПостоялецwww11 янв. 201820:22#10
Osiris

> Я пытаюсь вывести простые примитивы с ортогональной проекцие

делай без MVP :)

убогое апи

Правка: 11 янв. 2018 20:23

OsirisПостоялецwww11 янв. 201820:25#11
innuendo
> убогое апи
Так я просто в шейдер подкинул две матрицы, какое там API
innuendoПостоялецwww11 янв. 201820:26#12
Osiris
> Так я просто в шейдер подкинул две матрицы, какое там API
рисуй без матриц
OsirisПостоялецwww11 янв. 201820:48#13
>рисуй без матриц
Да вариант, но кажется у меня IB пустой) Спасибо IGPA показал
OsirisПостоялецwww11 янв. 201820:55#14
 // quads  
  vIndex.resize(uMaxElementsNum * 6);

  for (unsigned int i = 0; i < uMaxElementsNum; i++)
  {
    vIndex[i * 6] = i * 4;
    vIndex[i * 6 + 1] = i * 4 + 1;
    vIndex[i * 6 + 2] = i * 4 + 2;

    vIndex[i * 6 + 3] = i * 4 + 2;
    vIndex[i * 6 + 4] = i * 4 + 1;
    vIndex[i * 6 + 5] = i * 4 + 3;
  }

  // Fill in a buffer description.
  Desc.Usage = D3D11_USAGE_DEFAULT;
  Desc.ByteWidth = sizeof(unsigned int) * vIndex.size();
  Desc.BindFlags = D3D11_BIND_INDEX_BUFFER;
  Desc.CPUAccessFlags = 0;
  Desc.MiscFlags = 0;

  // Define the resource data.
  D3D11_SUBRESOURCE_DATA InitData;
  InitData.pSysMem = &vIndex[0];
  InitData.SysMemPitch = 0;
  InitData.SysMemSlicePitch = 0;

  // Create the buffer with the device.
  hr = m_Device->CreateBuffer(&Desc, &InitData, &m_pIndexBuffer);
  if (FAILED(hr))
    return false;
Вот так не грузит что-то индексы

Правка: 11 янв. 2018 20:56

Страницы: 1 2 3 4 Следующая »

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр