Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!
> Разработка игрового движка с нуля, как создать игровой движок
autistic
сообщение 03.12.2017, 21:02
Сообщение #1


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Пилю в свободное время графический движок https://bitbucket.org/mkbkompas/engine
Что-то с проекцией не то:


Треугольник равносторонний: (-0.5, -0.5, 0), (0.5, -0.5, 0), (0, 0.5, 0)
Клиентский код:
+

Код
#include <engine/platform.h>
#include <engine/renderer.h>

std::string vertexShaderSrc =
"\n\
attribute vec4 vertexPosition;\n\
uniform mat4 modelViewProj;\n\
void main()\n\
{\n\
  gl_Position = modelViewProj * vertexPosition;\n\
}\n\
\0";

std::string fragmentShaderSrc =
"\n\
void main()\n\
{\n\
  gl_FragColor = vec4(1.0, 0.5, 0.5, 1.0);\n\
}\n\
\0";

struct Vertex
{
    float x, y, z;
};

Vertex vertices[] = {
    {-0.5f, -0.5f, 0},
    {0.5f, -0.5f, 0},
    {0.0f,  0.5f, 0},
};

unsigned short indices[] = {
    0, 1, 2
};

int main()
{
    Engine::Platform *platform = Engine::GetPlatform();
    if (!platform->CreateMainWindow())
        return -1;

    Engine::Renderer *renderer = Engine::GetRenderer();

    size_t size = vertexShaderSrc.size();
    const Engine::Byte *pVertShaderData = reinterpret_cast<const Engine::Byte*>(vertexShaderSrc.data());
    Engine::ByteVector vertexSrc(pVertShaderData, pVertShaderData + size);

    size = fragmentShaderSrc.size();
    const Engine::Byte *pFragShaderData = reinterpret_cast<const Engine::Byte*>(fragmentShaderSrc.data());
    Engine::ByteVector fragSrc(pFragShaderData, pFragShaderData + size);

    auto progId = renderer->CreateGpuProgram(Engine::STATIC_VERTEX, vertexSrc, fragSrc);
    renderer->BindGpuProgram(progId);

    const Engine::Byte *pVertData = reinterpret_cast<const Engine::Byte*>(vertices);
    Engine::ByteVector verts(pVertData, pVertData + sizeof(vertices));

    const Engine::Byte *pIndexData = reinterpret_cast<const Engine::Byte*>(indices);
    Engine::ByteVector inds(pIndexData, pIndexData + sizeof(indices));

    auto buffId = renderer->CreateHardwareBuffer(Engine::STATIC_VERTEX, verts, inds);

    Engine::Matrix4 proj, model, modelViewProj;
    proj.SetPerspective(1.3f, 1.78f, 1.0f, 100.0f);
    model.SetTranslation(Engine::Vector3(0, 0, -1.5f));
    modelViewProj = model * proj;

    renderer->SetGpuProgramConstant(progId, "modelViewProj", modelViewProj);

    platform->SetMainWindowSize(1280, 720, true);
    renderer->SetViewport(1280, 720);

    for (;;) {
        if (!platform->UpdateMainWindow()) {
            break;
        }

        renderer->BeginRenderFrame();
        renderer->DrawHardwareBuffer(buffId);
        renderer->EndRenderFrame();
    }

    renderer->DestroyHardwareBuffer(buffId);
    renderer->DestroyGpuProgram(progId);
}


Нука быстра, помогите найти в чем проблема, пожалуйста?


--------------------
nop
Перейти в начало страницы
 

Сообщений в этой теме
- refuse   Разработка игрового движка с нуля   03.12.2017, 21:02
- - andreyholkin   proj.SetPerspective(1.3f, 1.78f, 1.0f, 100.0f); Я...   03.12.2017, 22:32
- - refuse   Цитата(andreyholkin @ 04.12.2017, 00:32) ...   04.12.2017, 09:55
|- - andreyholkin   Как там в 3d? Это вид с верху. Сейчас в Максе собр...   04.12.2017, 10:39
- - RedPython   А если сделать окно 1280х768? А если отрисовать в...   04.12.2017, 10:26
- - jamakasi   refuse, сдается мне ты запустил его, поменял разме...   04.12.2017, 10:34
- - RedPython   Андрей прав, по координатам треугольник действител...   04.12.2017, 11:25
- - saas   Подтверждаю, длинна нижней грани совпадает с расст...   04.12.2017, 12:49
- - andreyholkin   А зачем писать графический движок? https://ru.wik...   04.12.2017, 13:38
|- - saas   Цитата(andreyholkin @ 04.12.2017, 13:38) ...   04.12.2017, 13:43
|- - andreyholkin   Цитата(saas @ 04.12.2017, 15:43) Цитата(a...   04.12.2017, 14:08
- - saas   andreyholkin, в xrRender_R1,R2,R3,R4.   04.12.2017, 14:09
|- - andreyholkin   Цитата(saas @ 04.12.2017, 16:09) andreyho...   04.12.2017, 14:13
- - andreyholkin   http://media.moddb.com/images/mods/1/26/25940/ssr....   04.12.2017, 15:34
- - andreyholkin   Ткнули носом в ОГСЕ. Отбой.   04.12.2017, 19:47
- - refuse   Цитата(andreyholkin @ 04.12.2017, 12:39) ...   04.12.2017, 21:27
- - dPlayer   Цитата(andreyholkin @ 04.12.2017, 17:34) ...   04.12.2017, 21:37
- - jamakasi   Цитата(refuse @ 04.12.2017, 21:27) Иногда...   04.12.2017, 22:06
- - refuse   Цитата(jamakasi @ 05.12.2017, 00:06) Что ...   04.12.2017, 22:57
- - tom-m15   Надо бы шапку темы оформить, кто займется?   04.12.2017, 23:46
|- - andreyholkin   Цитата(tom-m15 @ 05.12.2017, 01:46) ...   05.12.2017, 00:38
- - andreyholkin   Кто в шейдерах разбирается? Напишите пожалуйста ше...   05.12.2017, 02:06
- - jamakasi   Цитата(refuse @ 04.12.2017, 22:57) Боян ж...   05.12.2017, 10:20
- - andreyholkin   Собираю старые версии NeoAxis. https://yadi.sk/d/...   07.12.2017, 03:34
- - refuse   Цитата(jamakasi @ 05.12.2017, 12:20) Ну п...   07.12.2017, 09:42
- - refuse   Создал пул реквест в мастер. Нука быстренько пробе...   10.12.2017, 13:35
|- - abramcumner   Цитата(refuse @ 10.12.2017, 13:35) Создал...   10.12.2017, 15:24
- - refuse   Цитата(abramcumner @ 10.12.2017, 17:24) Т...   10.12.2017, 17:58
|- - abramcumner   Цитата(refuse @ 10.12.2017, 17:58) Ну не ...   10.12.2017, 19:04
- - refuse   Цитата(abramcumner @ 10.12.2017, 17:24) М...   10.12.2017, 18:27
- - ForserX   Никто не знает API для считывание данных репозитор...   10.12.2017, 18:40
- - STALKER2011x   ForserX, https://developer.github.com/v3/activity/...   10.12.2017, 19:03
- - refuse   Цитата(abramcumner @ 10.12.2017, 21:04) А...   10.12.2017, 23:15
- - refuse   Поправил ревью, жду аппрувов.   11.12.2017, 21:31
|- - andreyholkin   Цитата(refuse @ 11.12.2017, 23:31) Поправ...   11.12.2017, 22:01
- - refuse   Цитата(andreyholkin @ 12.12.2017, 00:01) ...   11.12.2017, 22:08
- - andreyholkin   NeoAxis 0.561 настолько древний, что система не пу...   11.12.2017, 23:55
- - saas   andreyholkin, запуск с правами администратора?   12.12.2017, 00:01
|- - andreyholkin   Цитата(saas @ 12.12.2017, 02:01) andreyho...   12.12.2017, 00:04
- - saas   andreyholkin, посмотри значит что с правами у этог...   12.12.2017, 00:17
- - andreyholkin   Запустил. Вывод напросился, что физика 2.7 не рабо...   12.12.2017, 00:43
- - andreyholkin   Есть подробности. Дело было не в бабине... Дело в ...   12.12.2017, 01:10
- - refuse   Народ! Тут возникла мысль, что экспортировать ...   17.12.2017, 13:41
- - jamakasi   Цитата(refuse @ 17.12.2017, 13:41) 1. Исп...   17.12.2017, 17:57
- - refuse   Цитата(jamakasi @ 17.12.2017, 19:57) Заюз...   17.12.2017, 18:34
- - saas   Цитата(refuse @ 17.12.2017, 13:41) Неудоб...   17.12.2017, 20:29
- - refuse   Цитата(saas @ 17.12.2017, 22:29) Что, неу...   17.12.2017, 21:00
- - saas   Цитата(refuse @ 17.12.2017, 21:00) Продук...   17.12.2017, 21:10
- - refuse   Цитата(saas @ 17.12.2017, 23:10) В X-Ray ...   17.12.2017, 21:17
- - refuse   В общем пока обойдусь средствами майи, позже верну...   23.12.2017, 16:37
|- - abramcumner   Цитата(refuse @ 23.12.2017, 16:37) шашки ...   23.12.2017, 16:47
|- - saas   Цитата(refuse @ 23.12.2017, 16:37) Тем вр...   23.12.2017, 20:26
- - refuse   Цитата(abramcumner @ 23.12.2017, 18:47) Т...   23.12.2017, 17:17
|- - andreyholkin   Цитата(refuse @ 23.12.2017, 19:17) на худ...   23.12.2017, 17:43
|- - abramcumner   Цитата(refuse @ 23.12.2017, 17:17) Было б...   23.12.2017, 20:05
- - dPlayer   Цитата(refuse @ 23.12.2017, 18:37) шашки ...   23.12.2017, 17:26
- - refuse   Цитата(saas @ 23.12.2017, 22:26) Хм. А я ...   23.12.2017, 20:47
- - saas   refuse, я про такую:   23.12.2017, 21:01
- - refuse   saas, ну она будет примерно такой шороховатой посл...   23.12.2017, 21:10
- - refuse   Ревьюшка: https://bitbucket.org/mkbkompas/engine/p...   23.12.2017, 23:00
- - saas   Зачем в texture.cpp #pragma once?   23.12.2017, 23:51
- - refuse   saas, комментарии можно оставлять прямо на битбаке...   24.12.2017, 00:07
- - saas   refuse, ну ладно, написал ещё и на битбакете.   24.12.2017, 00:15
- - refuse   saas, спасибо, исправил. Там есть кнопочка approve...   24.12.2017, 00:31
- - saas   refuse, у меня нет, но я не сильно в C++11 разбира...   24.12.2017, 00:54
- - refuse   Цитата(saas @ 24.12.2017, 02:54) у меня н...   24.12.2017, 01:02
|- - saas   Цитата(refuse @ 24.12.2017, 01:02) Цитата...   24.12.2017, 01:03
- - refuse   Нашел математику от товарищей из гугла, выглядит в...   24.12.2017, 01:55
- - refuse   В общем посмотрел на эту библиотеку, и на некоторы...   24.12.2017, 12:26
- - saas   Всё, я его собрал Первая неважная попытка освеще...   24.12.2017, 17:56
- - refuse   Цитата(saas @ 24.12.2017, 19:56) refuse, ...   24.12.2017, 18:22
- - saas   Цитата(refuse @ 24.12.2017, 18:22) У меня...   24.12.2017, 18:28
- - refuse   Цитата(saas @ 24.12.2017, 20:28) А что де...   24.12.2017, 18:42
- - refuse   Цитата(saas @ 24.12.2017, 19:56) Первая н...   24.12.2017, 19:03
- - saas   refuse, диффузная карта на скриншоте не использует...   24.12.2017, 19:36
- - refuse   saas, Прокомментировал. Добавь пожалуйста abramcum...   24.12.2017, 22:03
- - saas   refuse, добавил, на комментарий ответил.   24.12.2017, 22:31
- - refuse   saas, заапрувил, подождем abramcumner'a и можн...   24.12.2017, 22:43
- - refuse   Есть апрув, можно мержить (кнопка Merge в правом в...   24.12.2017, 23:19
- - saas   Так, подожди, здесь нужно reinterpret_cast вместо ...   24.12.2017, 23:31
- - refuse   saas, поэтому лучше пул реквест сначала создавать ...   24.12.2017, 23:43
- - saas   refuse, в следующий раз так и сделаю. А где кнопк...   24.12.2017, 23:49
- - refuse   Добавил прав, должна появиться кнопка   25.12.2017, 00:07
- - saas   refuse, появилась, замержил.   25.12.2017, 00:12
- - refuse   Цитата(saas @ 24.12.2017, 21:36) Почему-т...   25.12.2017, 07:14
|- - saas   Цитата(refuse @ 25.12.2017, 07:14) Это но...   25.12.2017, 15:30
- - ForserX   Миленько. Почему не гитхаб?   25.12.2017, 10:40
- - jamakasi   Цитата(refuse @ 23.12.2017, 16:37) наприм...   25.12.2017, 13:53
- - refuse   Цитата(ForserX @ 25.12.2017, 12:40) Почем...   25.12.2017, 23:20
- - ForserX   refuse, я ушел от бакета в сторону хаба. Пока ни р...   25.12.2017, 23:58
- - RedPxthon   У них за приватный репозиторий надо платить по 7 д...   26.12.2017, 00:20
- - ForserX   RedPxthon, зато кол-во юзеров в открытом больше.   26.12.2017, 00:25
- - STALKER2011y   Цитата(ForserX @ 25.12.2017, 22:25) зато ...   26.12.2017, 15:49
|- - abramcumner   Цитата(STALKER2011y @ 26.12.2017, 15:49) ...   26.12.2017, 16:00
|- - saas   Цитата(STALKER2011y @ 26.12.2017, 15:49) ...   26.12.2017, 16:33
- - STALKER2011y   Ну вот, значит, и нормальное масштабирование иконо...   26.12.2017, 16:02
- - refuse   Цитата(STALKER2011y @ 26.12.2017, 17:49) ...   26.12.2017, 22:49
- - refuse   В общем по поводу материалов такая мысль имеется: ...   27.12.2017, 09:37
2 страниц V   1 2 >


Тема закрытаНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 11.06.2024, 22:27