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

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

Страницы: 1 2 3 4 Следующая »
innuendoПостоялецwww11 янв. 201820:59#15
проклятое апи :)
AndreyПостоялецwww11 янв. 201821:00#16
Osiris

1) попробуй вывести треугольник с вершинами
{
  0.0f, 0.5f, 0.0f
  -0.5f, -0.5f, 0.0f
  0.5f, -0.5f, 0.0f
}
матрицы не нужны, в пиксельном шейдере выведи return float4(1.0f, 0.0f, 0.0f, 0.0f)
Если все ок, проблема с матрицами:
Пробовал менять порядок умножения MatrixWorld, MatrixViewProj ? может подсказка поможет http://www.gamedev.ru/code/tip/?id=6114

Может у тебя внутри MatrixViewProj матрица View не единичная? замени ее на матрицу ортографической проекции, попробуй убери MatrixWorld.

AndreyПостоялецwww11 янв. 201821:10#17
Osiris
>Да вариант, но кажется у меня IB пустой) Спасибо IGPA показал
> Desc.Usage = D3D11_USAGE_DEFAULT;
Desc.Usage = D3D11_USAGE_IMMUTABLE
?
maks242Постоялецwww11 янв. 201821:39#18
Andrey
> > Desc.Usage = D3D11_USAGE_DEFAULT;
> Desc.Usage = D3D11_USAGE_IMMUTABLE
> ?
При создании IB разницы нет. DEFAULT, в отличии от IMMUTABLE, позволяет записывать данные на GPU.
maks242Постоялецwww11 янв. 201822:02#19
Вообще, глядя на всё это, возникает уйма вопросов. Что у тебя в вершинном буфере? Что у тебя в матрице вида? Какие параметры в матрице проекции? Какая у тебя топология? Не выходят ли вершины за ближнюю/дальнюю грань? Установлены ли у тебя все буферы в контексте перед рендером? Какие параметры вьюпорта? Установлен ли где-то он у тебя? Что у тебя с буфером глубины? Очищаешь ли его и РТ или нет? и проч.

P.S. А вообще, люди правы, туториалов в инете куча.

Правка: 11 янв. 2018 22:04

OsirisПостоялецwww11 янв. 201822:14#20
maks242
> P.S. А вообще, люди правы, туториалов в инете куча.
Я с использованием туториалов и делал, но тут немного свой код, потому могу что-то упускать.

А вообще я конкретно спросил в конкретной ситуации - что может приводить к тому, что не выполняется пиксельный шейдер, просто средства отладки студии отставляют желать лучшего. Сейчас вот запустил Intel GPA и увидел, что IB не заполнен, хотя сделано все как в примере, это очень странно. Так же вижу, что VB не те данные в позиции в некоторых местах, но геометрия рисуется в препросмотре.

Вот с этим сейчас и продолжу работать, так же попробую просто вывести треугольник.

maks242Постоялецwww11 янв. 201822:24#21
Osiris
> Я с использованием туториалов и делал, но тут немного свой код, потому могу
> что-то упускать.
> А вообще я конкретно спросил в конкретной ситуации - что может приводить к
> тому, что не выполняется пиксельный шейдер, просто средства отладки студии
> отставляют желать лучшего. Сейчас вот запустил Intel GPA и увидел, что IB не
> заполнен, хотя сделано все как в примере, это очень странно. Так же вижу, что
> VB не те данные в позиции в некоторых местах, но геометрия рисуется в
> препросмотре.
>
> Вот с этим сейчас и продолжу работать, так же попробую просто вывести
> треугольник.
Я тебе и привел вопросы по конкретно твоему случаю. Пока нет полностью всего кода, тебе, наверняка, никто не подскажет где ошибка.

Правка: 11 янв. 2018 22:25

OsirisПостоялецwww11 янв. 201822:27#22
maks242
Да никто не будет за меня копаться в коде, ища ошибку) Это уж точно, идей мне ребята подкинули, так что есть с чем работать. Опять как не будет идей - тогда буду писать)
OsirisПостоялецwww11 янв. 201822:36#23
maks242
Вершинный буфер я сейчас сделал 3 вершины, индексный пустой, делаю Draw вместо DrawIntexed, топология TRIANGLE_LIST, поставил Z всех вершин в 0, Viewport по размерам окна, depth 0-1, буфер глубины есть и он очищается.

А вот пиксельный шейдер как не исполнялся так и не исполняется

OsirisПостоялецwww11 янв. 201822:41#24
Отключил отсечение по глубине
  rasterDesc.DepthClipEnable = false;
maks242Постоялецwww11 янв. 201822:45#25
Osiris
Матрицы не используешь?
OsirisПостоялецwww11 янв. 201822:46#26
vertexOutput OverlayVertexShader(vertexInput IN)
{
    vertexOutput OUT;
    
    OUT.Position  = float4( IN.position.xyz, 1.0 );
 //  OUT.Position  = mul( float4(IN.position.xyz , 1.0) , mul( MatrixWorld, MatrixViewProj ) );
  OUT.Scissor    = IN.scissor;
  OUT.Color    = IN.color;
    OUT.TexCoord  = IN.texCoord;    

    return OUT;

}
напрямую вывожу
innuendoПостоялецwww11 янв. 201822:47#27
странно, а мне говорили это только в убогом апи кубик рисуется за полдня :)
maks242Постоялецwww11 янв. 201822:50#28
Osiris
Еще сами вершины покажи.
OsirisПостоялецwww11 янв. 201822:50#29
innuendo
> странно, а мне говорили это только в убогом апи кубик рисуется за полдня :)
по делу давай)
Страницы: 1 2 3 4 Следующая »

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

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