Войти
ПрограммированиеФорумГрафика

[D3D11]Base render pipeline (3 стр)

Страницы: 1 2 3 4 Следующая »
#30
22:50, 11 янв. 2018

Osiris
> по делу давай)

берёшь код из туторила и сравниваешь каждую строчку


#31
22:53, 11 янв. 2018

Osiris,

У тебя тестовый проект ? Учебный ?  В чём проблема показать код ? - И тебе подскажут где у тебя косяк.

#32
22:53, 11 янв. 2018

// Vertex
struct Point_2DGUI_Vertex
{
  // координаты
  FLOAT  X, Y, Z;
  // область отсечения
  FLOAT  ssLeft, ssTop, ssRight, ssBottom;
  // цвет
  DirectX::XMFLOAT4  Color;
  // текстурыне координаты
  FLOAT  tu, tv;

  Point_2DGUI_Vertex() {};
  Point_2DGUI_Vertex(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fssLeft, FLOAT fssTop, FLOAT fssRight, FLOAT fssBottom, DirectX::XMFLOAT4 dColor, FLOAT ftu, FLOAT ftv)
  {
    X = fx; Y = fy; Z = fz;
    ssLeft = fssLeft, ssTop = fssTop, ssRight = fssRight, ssBottom = fssBottom;
    Color = dColor;
    tu = ftu; tv = ftv;
  }

  Point_2DGUI_Vertex(DirectX::XMFLOAT3 vPos, DirectX::XMFLOAT4 vScissorRect, DirectX::XMFLOAT4 dColor, FLOAT ftu, FLOAT ftv)
  {
    X = vPos.x; Y = vPos.y; Z = vPos.z;
    ssLeft = vScissorRect.x, ssTop = vScissorRect.y, ssRight = vScissorRect.z, ssBottom = vScissorRect.w;
    Color = dColor;
    tu = ftu; tv = ftv;
  }
};

  D3D11_INPUT_ELEMENT_DESC polygonLayout[4];

  polygonLayout[0].SemanticName = "POSITION";
  polygonLayout[0].SemanticIndex = 0;
  polygonLayout[0].Format = DXGI_FORMAT_R32G32B32_FLOAT;
  polygonLayout[0].InputSlot = 0;
  polygonLayout[0].AlignedByteOffset = 0;
  polygonLayout[0].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;
  polygonLayout[0].InstanceDataStepRate = 0;

  polygonLayout[1].SemanticName = "TEXCOORD0";
  polygonLayout[1].SemanticIndex = 0;
  polygonLayout[1].Format = DXGI_FORMAT_R32G32B32A32_FLOAT;
  polygonLayout[1].InputSlot = 0;
  polygonLayout[1].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;
  polygonLayout[1].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;
  polygonLayout[1].InstanceDataStepRate = 0;

  polygonLayout[2].SemanticName = "COLOR";
  polygonLayout[2].SemanticIndex = 0;
  polygonLayout[2].Format = DXGI_FORMAT_R32G32B32A32_FLOAT;
  polygonLayout[2].InputSlot = 0;
  polygonLayout[2].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;
  polygonLayout[2].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;
  polygonLayout[2].InstanceDataStepRate = 0;

  polygonLayout[3].SemanticName = "TEXCOORD1";
  polygonLayout[3].SemanticIndex = 0;
  polygonLayout[3].Format = DXGI_FORMAT_R32G32_FLOAT;
  polygonLayout[3].InputSlot = 0;
  polygonLayout[3].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;
  polygonLayout[3].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;
  polygonLayout[3].InstanceDataStepRate = 0;

Просто 3 координаты

  m_pVertex0->X = 0;
  m_pVertex0->Y = 0.5f;

  m_pVertex1->X = -0.5f;
  m_pVertex1->Y = -0.5f;

  m_pVertex2->X = 0.5f;
  m_pVertex2->Y = -0.5f;

И вот так в отладчике
vertexes | [D3D11]Base render pipeline

#33
22:56, 11 янв. 2018

Не часть, а весь код проекта.  ( много мест где могут быть косяки )

#34
23:01, 11 янв. 2018

bykabak
> У тебя тестовый проект ? Учебный ? В чём проблема показать код ? - И тебе
> подскажут где у тебя косяк.
Это коммерческий проект, но дело даже не в том, именно что ошибка может быть много где, но что-то я упускаю, вот я даже в теории не знаю, что должно случится кроме depth test и face clipping, чтобы не был выполнен пиксель шейдер, и то и другое я отключил.

#35
23:09, 11 янв. 2018

Еще бы глянуть timeline в event list'e. Мало ли, вдруг чего ты не установил.

#36
23:14, 11 янв. 2018
event_list | [D3D11]Base render pipeline

я смотрю что в простом примере даже depth stencil не ставят
#37
23:24, 11 янв. 2018

В Input Assembler по-прежнему ничего нет? После того, как изменил вершины?

#38
23:31, 11 янв. 2018
Osiris,
Это коммерческий проект

Занавес...

чтобы не был выполнен пиксель шейдер

Чтобы он не был выполнен, его нужно убрать из установленных для выполнения с помощью PSSetShader Иначе будет выполняться то, что прикреплено в качестве текущего PS.

#39
23:34, 11 янв. 2018

maks242
> В Input Assembler по-прежнему ничего нет? После того, как изменил вершины?
Да вот удивляюсь, что ничего, при чем я перепроверил объявление вершин, размер, что загружено и вот что-то ему не нравится там. Попробую упростить убрать все лишнее, сделать в лоб как в примере, но уже завтра.

#40
23:49, 11 янв. 2018

И еще у тебя установлен IndexBuffer при вызове метода Draw.

#41
10:35, 12 янв. 2018

maks242
> И еще у тебя установлен IndexBuffer при вызове метода Draw.
Уберу, но мне кажется это не связано, он просто должен игнорировать

#42
11:32, 12 янв. 2018

Osiris
> вот я даже в теории не знаю, что должно случится кроме depth test и face
> clipping, чтобы не был выполнен пиксель шейдер
Viewport, Scissor.

#43
11:34, 12 янв. 2018

prowkan
Viewport выставлен, scissor не выставлен, но вроде не обязательно. Пробую отключить все, что можно. Даже простой треугольник в float3 в вершинном не выводит, где-то в очень тупом месте косяк чую)

#44
11:52, 12 янв. 2018

жду развязки остросюжетного детектива

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.