Пытаюсь осилить написание шейдеров на OpenGL Core 3.0 (Эта версия нужна для совместимости со старыми и новыми версиями игры Minecraft)
Смог немного поменяв и дополнив код с сайта LearnOpenGL.com вывести треугольник в окно игры. Обучение даётся мне довольно сложно по этому прошу Вас немного в этом мне помочь. Как сделать чтобы вывелся квадрат? Как вывести несколько квадратов разного цвета, прозрачности и позиции не создавая несколько шейдеров для вывода каждого? Нужно ли отсоединять шейдер перед его удалением?
>>254843412 Я только щас заметил что в той статье есть и то как рисовать квадрат. Только не совсем понял, если я буду рисовать допустим всегда квадраты то мне получается нужно использовать glDrawElements вместо glDrawArrays? Так как там сказано что только glDrawELements позволяет рисовать квадраты без дублирования вершин..
>>254843556 Ты рисуешь не квадраты, а треугольники. Всегда. Видео карта другое обрабатывать не умеет. Не страдай и напиши просто класс импорта obj, чтоб можно было делать сложные фигуры и текстуры
>>254844903 Братишка, ты это пишешь щас чуваку который в обычном то OpenGL не шарит почти (где glBegin и glVertex3f) а здесь шейдеры с которыми я впервые сталкиваюсь и тренируюсь на игре. Я без понятия как там что проверить.
Чел, ты что творишь, в ебучем Майнкрафте все рисуется через тесселятор, хоть можно и на прямую, шейдеры сам ебашишь и включаешь по необходимости. Там одна параша в коде.
Ебать. Ты год назад начинал эти треды. И до сих по 0 прогресса. Ноль блядь. Ты самый необучаемый человек на свете. Я тебе ещё раз говорю. Не начинай с середины. Учи постепенно. Какой смысл тебе читать эти примеры если ты не понимаешь как оно работает? Это может быть более умные могут быстро сориентироваться. Но не ты.
>>254843058 (OP) >Как сделать чтобы вывелся квадрат? А тебе зачем? Если хочешь меню поменять то есть отличный мод(или аддон хуй его знает) который позволяет легко поменять меню под что хочешь. Если хочешь шейдеры, то в ютубе кучу гайдов от школьников.
>> Как вывести квадрат Точно также как и треугольник. OpenGL рисует ТОЛЬКО линии и треугольники. И из треугольников ты составляешь любые фигуры. Что такое квадрат? Это два треугольника. Ты можешь визуально разделить квадрат на два треугольника?
>>Как вывести несколько квадратов разного цвета, прозрачности и позиции не создавая несколько шейдеров для вывода каждого? А схуяли ты вообще вообще взял что тебе нужно создавать новый шейдер для каждого квадрата? Ты создаешь его один раз. Позиция квадрата задается самими координатами вершин, а цвет передавай через uniform для каждого квадрата. Также ты можешь создать буфер с вершинами для квадрата единожды, а его расположение и размеры передавать в качестве матрицы также через uniform. >>Нужно ли отсоединять шейдер перед его удалением? Нужно. Но зачем его удалаять?