Что делать если не работают шейдеры
Перейти к содержимому

Что делать если не работают шейдеры

Тема: Проблема с шейдерами.

Japan1337

  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Репутация

Japan1337 вне форума

Новичок

Аватар для Japan1337

Сообщений 4
Регистрация 04.10.2015

0 &nbsp

Поблагодарил(а) 0 Получено благодарностей: 0 (сообщений: 0).

Проблема с шейдерами.

В общем, хочу поиграть со шейдерами , не выходит. После того как выбираю шейдер майнкрафт попросту либо крашится либо без текстур. (Либо розовый цвет экрана либо чёрный.) Т.е шейдеры как-бы работают а как — бы нет! Прошу помощи. Заранее спасибо.

21.02.2016, 14:42 #2

duracel2

  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Репутация

duracel2 вне форума

Новичок

Ваш статус Тройка две двойки
Сообщений 21
Любимые моды IC2
Любимый монстр Azazin Kreet
Регистрация 08.08.2012
Адрес Новосибирск

0 &nbsp

Поблагодарил(а) 5 Получено благодарностей: 10 (сообщений: 9).

А вы установили шейдеры правильно? И подходят ли шейдеры под версию майнкрафта?

У тебя какой компьютер?

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

Тебе же написал маин) «обновите драйвер видеокарты». А без шейдеров нормально играется, без крашей?

А пробовал другие шейдеры поставить?

Когда крашнулся маин, что потом? Он закрылся и все? Или же ошибка, а потом кнопка «Выход из игры»?

ЦитатаСообщение от Hiler1999 Посмотреть сообщение

Отладочную консоль при входе на сервер включи, и скинь сюда под спойлер, что она пишет, так проще будет разобраться.

Дабы игрок понял о чем речь.

Если игрок знает об этом, удалю пост.

Последний раз редактировалось CBETLbIU; 21.02.2016 в 15:44 .

21.02.2016, 14:43 #3

Japan1337

  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Репутация

Japan1337 вне форума

Новичок

Аватар для Japan1337

Сообщений 4
Регистрация 04.10.2015

0 &nbsp

Поблагодарил(а) 0 Получено благодарностей: 0 (сообщений: 0).

ЦитатаСообщение от duracel2 Посмотреть сообщение

А вы установили шейдеры правильно? И подходят ли шейдеры под версию майнкрафта?

Всё делал как нужно. Т.е сервера Hi-Tech , сделал всё как писал ранее фрозор.

ЦитатаСообщение от duracel2 Посмотреть сообщение

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

Дрова вчера обновил

ЦитатаСообщение от duracel2 Посмотреть сообщение

Тебе же написал маин) «обновите драйвер видеокарты». А без шейдеров нормально играется, без крашей?

Дрова обновлял вчера[2]. Без шейдов 150+ фпс.

ЦитатаСообщение от duracel2 Посмотреть сообщение

А пробовал другие шейдеры поставить?

Штук 100 уже перепробывал. В итоге 80% краш.

ЦитатаСообщение от duracel2 Посмотреть сообщение

Когда крашнулся маин, что потом? Он закрылся и все? Или же ошибка, а потом кнопка «Выход из игры»?

ЦитатаСообщение от duracel2 Посмотреть сообщение

У тебя какой компьютер?

Ноут, 4 ядра 6гб озу. nvidia , не помню какая. Ну гта 5 тянет в 60 фпс на минималках.
http://c2n.me/3uCANSC

Последний раз редактировалось Japan1337; 21.02.2016 в 15:50 .

21.02.2016, 15:28 #4

Hiler1999

  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Репутация
  • Домашняя страница

Hiler1999 вне форума

Наблюдатель

Ваш статус Простите за моё сверхмерное ЧСВ и бредовые идеи с мыслями.
Сообщений 65
Cервер PowerCraft.
Любимые моды Industrial, Thermal Expansion, Ars Magica 2.
Любимый монстр nikilands.
Регистрация 07.04.2014
Адрес Россия, Башкортостан.

-1 &nbsp

Поблагодарил(а) 85 Получено благодарностей: 15 (сообщений: 8).

Отладочную консоль при входе на сервер включи, и скинь сюда под спойлер, что она пишет, так проще будет разобраться.

21.02.2016, 15:41 #5

cheald

  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Репутация

cheald вне форума

Модератор форума

Ваш статус По всем вопросам в дискорд
Сообщений 2,310
Регистрация 01.10.2013
Адрес DC: bezbashn

46 &nbsp

Поблагодарил(а) 45 Получено благодарностей: 1,819 (сообщений: 686).

Боже. duracel тут просто посты набивает.

Лист возможных проблем:
1. Видеокарта не поддерживает шейдеры из за высоких настроек игры. Снизь до минимума.
2. Обнови DirectX и OpenGL.

Прикрепи скрин текущих настроек в игре и свойств системы(В Компьютере ПКМ и Свойства).

UPD: Выдели 1024 Мб памяти/уменьши размер окна игры.

Последний раз редактировалось cheald; 21.02.2016 в 16:02 .


DC: bezbashn

Ваш проводник в мир Minecraft
Дизайнер, квестодел и просто сладкая булочка

Что делать если не работают шейдеры

Ваш браузер устарел, и поэтому некоторые важные функции этого сайта могут не работать. Пожалуйста, обновитесь то более современного браузера. 🙁

Не работают шейдеры вообще

Ребят вот проблемка. Когда запускаю майнкрафт с модом ядром GLSL у меня просто вылетает майн. Будь что с OptiFine Будь что без него. Без шейдеров игра идеально работает. Спасайте, уже месяц не могу найти ответа.\r\n\r\nПараметры компа:\r\nПроцессор:

KiritoSwordsmen

KiritoSwordsmen

Помогите пожалуйста
Многие говорили, что ошибка в том, что я мало выделил ОЗУ, но я выделил 4 ГБ из 8 возможных
Также хар. компа:
Процессор: Intel(R) Core(TM) i5-3470 CPI @ 3.20 GHz
ОЗУ: 8 ГБ
Видеокарта: AMD Radeon HD 7800 Series.
У меня даже Alien Isolation и GTA 5 тянет, а майн с шейдерами нет -_-

Сообщение отредактировал KiritoSwordsmen 9 января 2016 — 18:53

Миссии:
-1 новость на главной
-5 новостей на главной
-стать ПХЛ(хотя мне до этого далеко-далеко)
-Сделать текстур-пак
-Сделать мод
-Сделать клиент
-Нарисовать Юи из K-ON!
-Прочитать всю мангу мир в котором не существует понятия грязные штучки

#1 | 9 января 2016 — 18:31

Reporter

Reporter

ТруЪ Олдфаги-с

Звание: Бесценный нехолоп

Если это то о чём я думал, то мы с тобой братья по проблеме У меня та же проблема, у тебя есть мод GLGLS Shaders Mod?

Сообщение отредактировал Reporter 9 января 2016 — 19:29

I’m Houston, I’m ready for any problem! ©

#2 | 9 января 2016 — 19:28

romon2013

romon2013

Звание: Любитель понажимать кнопки

KiritoSwordsmen,
Даже не знаю почему
Майн написан на Java поэтому может лагать даже без шейдеров на топовых компах.

Цели:
1)Набрать +100 репы
2)Получить группу Олдфаги
3)Сделать 60 новостей

#3 | 9 января 2016 — 20:08

KiritoSwordsmen

KiritoSwordsmen

Reporter,
Да стоит. У меня просто вылетает до показа картинки Mojang.

Миссии:
-1 новость на главной
-5 новостей на главной
-стать ПХЛ(хотя мне до этого далеко-далеко)
-Сделать текстур-пак
-Сделать мод
-Сделать клиент
-Нарисовать Юи из K-ON!
-Прочитать всю мангу мир в котором не существует понятия грязные штучки

#4 | 9 января 2016 — 20:35

Reporter

Reporter

ТруЪ Олдфаги-с

Звание: Бесценный нехолоп

Цитата: KiritoSwordsmen
У меня просто вылетает до показа картинки Mojang.

Нет, ты не мой брат , просто у меня вылетает майн, когда запускаю шейдеры и мир. Причём никакого лога или ошибки не выдаёт. Просто *хлоп* и всё Не знаю, проверь, может твоей видео карте противопоказаны шейдеры?

I’m Houston, I’m ready for any problem! ©

#5 | 9 января 2016 — 21:47

KiritoSwordsmen

KiritoSwordsmen

Reporter,
С видеокартой все нормально, на 8 винде раньше работали. А теперь даже и не знаю что делать

Reporter,
Кстати, первое время была такая же ошибка как и у тебя

Сообщение отредактировал KiritoSwordsmen 9 января 2016 — 21:53

Миссии:
-1 новость на главной
-5 новостей на главной
-стать ПХЛ(хотя мне до этого далеко-далеко)
-Сделать текстур-пак
-Сделать мод
-Сделать клиент
-Нарисовать Юи из K-ON!
-Прочитать всю мангу мир в котором не существует понятия грязные штучки

#6 | 9 января 2016 — 21:52

KiritoSwordsmen

KiritoSwordsmen

УРА Я ПОНЯЛ.
Короче, (только 1.8.8, как я знаю) можно скачать Optifine HD G9 Ultra. Там встроенный мод на шейдеры! ЕЙ!

Миссии:
-1 новость на главной
-5 новостей на главной
-стать ПХЛ(хотя мне до этого далеко-далеко)
-Сделать текстур-пак
-Сделать мод
-Сделать клиент
-Нарисовать Юи из K-ON!
-Прочитать всю мангу мир в котором не существует понятия грязные штучки

#7 | 10 января 2016 — 02:41

Reporter

Reporter

ТруЪ Олдфаги-с

Звание: Бесценный нехолоп

KiritoSwordsmen,

Скинь ссылочку! Прошу! У меня тоже шейдеры не робят

I’m Houston, I’m ready for any problem! ©

#8 | 10 января 2016 — 13:32

hbde

Братан попробуй другую версию я пытался зайти в шейдерами на 1.12.2 и не получилось потом зашел с 1.12 и получилось решил перезайти и опять ошибка хз почему еще можно попробывать скачать мод пак и оставить только шейдеры

Сообщение отредактировал hbde 7 сентября 2021 — 18:11

#9 | 7 сентября 2021 — 18:04

Mr Blue cat

Mr Blue cat

Просто хорошие люди

default3

hbde,
Вот это скорость! Ты наверно печатал очень быстро! А тебя не смущает то что это тема из 2016 и она решена?

DXYVAD нравится это сообщение.

я пароль вспомнил

#10 | 8 сентября 2021 — 07:10

Статистика форума

Сейчас онлайн: 20

Создано тем 13568 Написано сообщений 829672 Пользователей 370883 Новый участник nIVERR

Администраторы | Главные редакторы | Модератор | Дедушки | Журналисты | HENTAI BOY | Goldфаги | Журналисты-олдфаги | ТруЪ Олдфаги-с | ТруЪ Плагинщик | Олдфаги | true Художник | Модератор бездны | Картоделы | XXXL ПХЛ | Просто хорошие люди | Посетители | Новички

Последние сообщения с форума

Просмотров: 130

Ответов: 2

Автор: cat1967

Просмотров: 24

Ответов: 0

Автор: nIVERR

АндрейБобр

Просмотров: 104

Ответов: 1

Автор: cat1967

Просмотров: 644

Ответов: 20

Автор: cat1967

Просмотров: 115

Ответов: 2

Не работают шейдеры в Майнкрафт 1.12.2

Скачивал много шейдеров
Из них «нормально» работал только kuda shaders, но на текстурах были странные полосы и не было видно руки персонажа. Остальные же шейдеры вообще не работали. Либо был чёрный экран либо не было неба и освещения, только качалась листва трава и вода. Но самих солнечных лучей, бликов, теней не было. Хоть динамическое освещение и небо были включены в игре. Шейдеры выдавали ошибку composite. Как решить проблему и есть ли мод для нормальной их работы? Я запускал шейдеры через оптифайн.

Лучший ответ

короче скачай в лаунчере 1.12.2forge качаешь мод https://minecraft-inside.ru/mods/9621-glsl-shaders-mod.html кидаешь в папку модс заходишь через 1.12.2forge и всё заходишь выбираешь шейдры

Остальные ответы

Не работают шейдеры в OpenGL

если кратко, то созданые шейдеры никак не влияют на результат, попросту не работают. Окно WinApi, openGl загружает GLAD, контекс создаю сам, версия 3.3, ошибок при создании контекста нет, все отлично рисуеться, но шейдеры ничего не делают. Изображение черное, при попытке поиграть со значениями в вершинном шейдере изображение остаеться статично, если убрать весь полезный код из шейдера, результат тот же. При загрузкt версии 4.6 изображение белое. Где можно искать ошибку? Цикл рисования.

const char* vertexShaderSource = "#version 330 core\n" "layout (location = 0) in vec3 aPos;\n" "out vec4 vertexColor;\n" "void main()\n" "\0"; const char* fragmentShaderSource = "#version 330 core\n" "out vec4 FragColor;\n" "in vec4 vertexColor;\n" "void main()\n" "\n\0"; void update(engine::window::Window* _pWnd) < unsigned int shaderProgram = 0; unsigned int VBO = 1, VAO = 1, EBO = 1; engine::events::Event ev; _pWnd->PollEvent(ev); if (ev.IsPressed(VK_ESCAPE)) _pWnd->~Window(); while (1) < int a = ev.GetLastEvent(); if (a == 0) break; if (a == WM_CREATE) < glViewport(0, 0, 800, 600); int success; unsigned int vertexShader = glCreateShader(GL_VERTEX_SHADER); glShaderSource(vertexShader, 1, &vertexShaderSource, NULL); glCompileShader(vertexShader); glGetShaderiv(vertexShader, GL_COMPILE_STATUS, &success); if (!success) exit(101); unsigned int fragmentShader = glCreateShader(GL_FRAGMENT_SHADER); glShaderSource(fragmentShader, 1, &fragmentShaderSource, NULL); glCompileShader(fragmentShader); glGetShaderiv(fragmentShader, GL_COMPILE_STATUS, &success); if (!success) exit(102); shaderProgram = glCreateProgram(); glAttachShader(shaderProgram, vertexShader); glAttachShader(shaderProgram, fragmentShader); glLinkProgram(shaderProgram); glGetProgramiv(shaderProgram, GL_LINK_STATUS, &success); if (!success) exit(103); glGenVertexArrays(1, &VAO); glGenBuffers(1, &VBO); glGenBuffers(1, &EBO); glBindVertexArray(VAO); glBindBuffer(GL_ARRAY_BUFFER, VBO); glBufferData(GL_ARRAY_BUFFER, vertices1.size()*4, &vertices1[0], GL_STATIC_DRAW); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO); glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices1.size()*4, &indices1[0], GL_STATIC_DRAW); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0); glEnableVertexAttribArray(0); glBindBuffer(GL_ARRAY_BUFFER, 0); glBindVertexArray(0); >> long errr = glGetError(); if (errr) exit(errr); glClearColor(0.2f, 0.3f, 0.3f, 1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glUseProgram(shaderProgram); glBindVertexArray(VAO); glDrawElements(GL_TRIANGLES, indices1.size(), GL_UNSIGNED_INT, 0); glFlush(); SwapBuffers(hdc1); > 

Создание контекста.

void init_opengl(HDC real_dc) < init_opengl_extensions(); int pixel_format_attribs[] = < WGL_DRAW_TO_WINDOW_ARB, GL_TRUE, WGL_SUPPORT_OPENGL_ARB, GL_TRUE, WGL_DOUBLE_BUFFER_ARB, GL_TRUE, WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB, WGL_PIXEL_TYPE_ARB, WGL_TYPE_RGBA_ARB, WGL_COLOR_BITS_ARB, 32, WGL_DEPTH_BITS_ARB, 24, WGL_STENCIL_BITS_ARB, 8, 0 >; int pixel_format; UINT num_formats; wglChoosePixelFormatARB(real_dc, pixel_format_attribs, 0, 1, &pixel_format, &num_formats); if (!num_formats) < exit(4); >PIXELFORMATDESCRIPTOR pfd; DescribePixelFormat(real_dc, pixel_format, sizeof(pfd), &pfd); if (!SetPixelFormat(real_dc, pixel_format, &pfd)) < exit(3); >int gl33_attribs[] = < WGL_CONTEXT_MAJOR_VERSION_ARB, 3, WGL_CONTEXT_MINOR_VERSION_ARB, 3, WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_CORE_PROFILE_BIT_ARB, 0, >; HGLRC gl33_context = wglCreateContextAttribsARB(real_dc, 0, gl33_attribs); if (!gl33_context) < exit(2); >if (!wglMakeCurrent(real_dc, gl33_context)) < exit(1); >gladLoadGL(); > 

вывод

Отслеживать
Тимур Крамар
задан 5 ноя 2022 в 22:22
Тимур Крамар Тимур Крамар
68 5 5 бронзовых знаков

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

UPD: Собрал у себя рабочее «На коленке»(качество кода — очень так себе но для запуска и взять что-то для себя — ок) тестовое решение, шейдеры работают нормально. можете прям собрать и попробывать, только 8 строчке — сделайте свой include к GLAD и вот вам tree.obj.

Предлагаю вам собрать решение для начала, а потом смотреть пункты для чуть более детального понимания.

Давайте пойдем по пунктам, что предлагаю поменять. в формате ваших функций более менее, если что не понятно, то пишите в каком пункте и будет разбирать

  1. Создаем фейковое окно и там инициализируем opengl.
ATOM registerClass(HINSTANCE hInstance) < WNDCLASSEX wcex; ZeroMemory(&wcex, sizeof(wcex)); wcex.cbSize = sizeof(wcex); wcex.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; wcex.lpfnWndProc = WindowProcedure; wcex.hInstance = hInstance; wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.lpszClassName = "Core"; return RegisterClassEx(&wcex); >void init_opengl_extensions() < windowClass = MAKEINTATOM(registerClass(hInstance)); if (windowClass == 0) < showMessage("registerClass() failed."); return 1; >/// Создаем временное окно /// HWND fakeWND = CreateWindow( windowClass, "Fake Window", style, 0, 0, 1, 1, NULL, NULL, hInstance, NULL); HDC fakeDC = GetDC(fakeWND); // Device Context PIXELFORMATDESCRIPTOR fakePFD; ZeroMemory(&fakePFD, sizeof(fakePFD)); fakePFD.nSize = sizeof(fakePFD); fakePFD.nVersion = 1; fakePFD.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER; fakePFD.iPixelType = PFD_TYPE_RGBA; fakePFD.cColorBits = 32; fakePFD.cAlphaBits = 8; fakePFD.cDepthBits = 24; const int fakePFDID = ChoosePixelFormat(fakeDC, &fakePFD); if (fakePFDID == 0) < showMessage("ChoosePixelFormat() failed."); return 1; >if (SetPixelFormat(fakeDC, fakePFDID, &fakePFD) == false) < showMessage("SetPixelFormat() failed."); return 1; >HGLRC fakeRC = wglCreateContext(fakeDC); // Rendering Contex if (fakeRC == 0) < showMessage("wglCreateContext() failed."); return 1; >if (wglMakeCurrent(fakeDC, fakeRC) == false) < showMessage("wglMakeCurrent() failed."); return 1; >/// получаем указатели на функции или вызывает opengl loader PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB = nullptr; wglChoosePixelFormatARB = reinterpret_cast(wglGetProcAddress("wglChoosePixelFormatARB")); if (wglChoosePixelFormatARB == nullptr) < showMessage("wglGetProcAddress() failed."); return 1; >PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB = nullptr; wglCreateContextAttribsARB = reinterpret_cast(wglGetProcAddress("wglCreateContextAttribsARB")); if (wglCreateContextAttribsARB == nullptr) < showMessage("wglGetProcAddress() failed."); return 1; >if (config.windowed == true) < adjustSize(); center(); >> 
  1. Вот так создаем окно, поля по типу позиции/размера делать как удобно
//// Создаем новое реальное окно /// WND = CreateWindow( windowClass, "OpenGL Window", // class name, window name style, // styles config.posX, config.posY, // posx, posy. If x is set to CW_USEDEFAULT y is ignored config.width, config.height, // width, height NULL, NULL, // parent window, menu hInstance, NULL); // instance, param DC = GetDC(WND); const int pixelAttribs[] = < WGL_DRAW_TO_WINDOW_ARB, GL_TRUE, WGL_SUPPORT_OPENGL_ARB, GL_TRUE, WGL_DOUBLE_BUFFER_ARB, GL_TRUE, WGL_PIXEL_TYPE_ARB, WGL_TYPE_RGBA_ARB, WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB, WGL_COLOR_BITS_ARB, 32, WGL_ALPHA_BITS_ARB, 8, WGL_DEPTH_BITS_ARB, 24, WGL_STENCIL_BITS_ARB, 8, WGL_SAMPLE_BUFFERS_ARB, GL_TRUE, WGL_SAMPLES_ARB, 4, 0 >; int pixelFormatID; UINT numFormats; const bool status = wglChoosePixelFormatARB(DC, pixelAttribs, NULL, 1, &pixelFormatID, &numFormats); if (status == false || numFormats == 0) < showMessage("wglChoosePixelFormatARB() failed."); return 1; >PIXELFORMATDESCRIPTOR PFD; DescribePixelFormat(DC, pixelFormatID, sizeof(PFD), &PFD); SetPixelFormat(DC, pixelFormatID, &PFD); const int major_min = 4, minor_min = 0; const int contextAttribs[] = < WGL_CONTEXT_MAJOR_VERSION_ARB, major_min, WGL_CONTEXT_MINOR_VERSION_ARB, minor_min, WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_CORE_PROFILE_BIT_ARB, WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_DEBUG_BIT_ARB, 0 >; RC = wglCreateContextAttribsARB(DC, 0, contextAttribs); if (RC == NULL) < showMessage("wglCreateContextAttribsARB() failed."); return 1; >wglMakeCurrent(NULL, NULL); wglDeleteContext(fakeRC); ReleaseDC(fakeWND, fakeDC); DestroyWindow(fakeWND); if (!wglMakeCurrent(DC, RC)) < showMessage("wglMakeCurrent() failed."); return 1; >/// Запускаем GLAD gladLoadGL(); SetWindowText(WND, reinterpret_cast(glGetString(GL_VERSION))); ShowWindow(WND, nCmdShow); 
  1. Ваш main будет выглядеть как — то так.
int __stdcall wWinMain(HINSTANCE hInstance, HINSTANCE hPrev, wchar_t* pCmdLine, int nCmdShow) < engine::window::Window ab; ///// Сначала подготавливаем opengl - шаг 1 ///// init_opengl(); //// создаем реально окно - шаг 2 ab.Create(L"Window", engine::math::Vector2i(800, 600)); //if (FAILED(engine::render::InitContext(ab.GetDescriptor()))) return EXIT_FAILURE; UpdateWindow(ab.GetDescriptor()); Load3DObject(L"models\\cat.obj", &vertices1, &indices1); ab.StartLoop(nCmdShow, update); return EXIT_SUCCESS; >

Я бы на самом деле объеденил init_opengl() и create() для удобства, так как шаг 1 и 2 взаимосвязаны.

int __stdcall wWinMain(HINSTANCE hInstance, HINSTANCE hPrev, wchar_t* pCmdLine, int nCmdShow) < engine::window::Window ab; ab.setup() /// шаг 1 + шаг 2 UpdateWindow(ab.GetDescriptor()); Load3DObject(L"models\\cat.obj", &vertices1, &indices1); ab.StartLoop(nCmdShow, update); return EXIT_SUCCESS; >
  1. Собрать шейдер в класс и выполнять его работу не на WM_CREATE а попозже

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *