Главная » Статьи для тега "вершин"

Построение простейшего трехмерного изображения Free Pascal

Добавлено Дата: 3 July, 2014 категория: Free Pascal

Приведенная в листинге 16.5 программа Cube_1.pas воспроизводит на экране изображение разноцветного куба средствами библиотеки OpenGL. Массив Points задает координаты вершин куба. Каждой вершине присвоен индивидуальный цвет (массив Colors). Вдоль каждого ребра по умолчанию производится линейная ин- терполяция цветовых характеристик смежных вершин, и полученные цвета таким же образом распространяются на внутренние точки граней.

Читать »

Концепция связывания вершин – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 5 October, 2013 категория: Программирование игр под Android

Можем ли мы еще что-то оптимизировать? Еще раз посмотрим на наш текущий метод present  (с убранными glRotatef  и gl Seal ef ):

Выглядит гораздо лучше, не правда ли? Но на самом деле метод еще не идеален. Для начала мы можем переместить вызов gl .glMatrixMode в метод resume, однако это не даст значительных улучшений. Вот что еще можно оптимизировать.

Читать »

Куб: Hello World в 3D – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 2 October, 2013 категория: Программирование игр под Android

В нескольких последних главах мы уже использовали концепцию пространства моделей: это пространство, в котором определены наши модели, оно никак не связано с пространством создаваемого мира. Мы применяем соглашение о создании всех объектов вокруг начала координат пространства моделей, поэтому центр объекта совпадает в началом координат. Такая модель может быть повторно использована для отрисовки нескольких объектов в различных позициях мира. Эта особенность была применена в масштабном примере BobTest.

Читать »

Реализация загрузчика файлов формата OBJ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 29 September, 2013 категория: Программирование игр под Android

Наш план действий будет таким – загрузить файл в память полностью и создать строку для каждой его строки. Мы также создадим временные массивы чисел с плавающей точкой для всех позиций вершин, координат текстур и нормалей, которые мы собираемся загрузить. Их размер равен количеству строк OBJ-файла, умноженному на количество компонент атрибута, – два для координат текстур или три для нормалей. Благодаря этому мы выделим памяти больше, чем необходимо, но это лучше, чем выделять память для новых массивов всякий раз, когда их понадобится пополнить.

Читать »

Формат Wavefront OBJ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 31 August, 2013 категория: Программирование игр под Android

Мы реализуем загрузчик для подмножества, представленного в таком формате. Он будет поддерживать модели, состоящие только из треугольников и, возможно, содержащие координаты текстур и нормали. Формат OBJ также поддерживает хранение произвольных выпуклых полигонов, но мы не будем рассматривать этот параметр. Если вы найдете или создадите модель OBJ, просто убедитесь в том, что она состоит исключительно из треугольников.

Читать »

ОСВЕЩЕНИЕ В OPENGL ES – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 25 August, 2013 категория: Программирование игр под Android

 

Освещение в OpenGL ES – это полезная особенность, которая может придать 3D -играм приятный оттенок. Чтобы использовать подобную функциональность, сначала нам необходимо понять модель освещения OpenGL ES.

Как работает освещение

Читать »

ИНДЕКСИРОВАННЫЕ ВЕРШИНЫ: ИСПОЛЬЗУЕМ ПОВТОРНО – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 7 August, 2013 категория: Программирование игр под Android

 

До сих пор мы всегда описывали список треугольников, где каждый треугольник имеет собственный набор вершин. В действительности мы успели нарисовать только один треугольник, но добавить еще несколько не составит особого труда.

Тем не менее существуют случаи, когда два или больше треугольников могут делить некоторые вершины. Рассмотрим, как мы можем визуализировать прямоугольник с помощью уже изученных приемов. Мы просто определим два треугольника, которые будут иметь две вершины с одинаковыми координатами места, цветами и текстурами.

Читать »

ДРУГИЕ ПРИМИТИВЫ: ТОЧКИ, ЛИНИИ, ПОЛОСКИ И КОНУСЫ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 31 July, 2013 категория: Программирование игр под Android

 

Когда я говорил, что OpenGL ES – это огромная машина для визуализации треугольников, я немного недоговаривал. На самом деле OpenGL ES может также визуализировать точки и линии. Более того, они тоже описываются с помощью вершин, и, как следствие, все вышеупомянутое применимо и к ним (текстуры, цвета для вершин и т. д.). Все, что нам надо сделать, чтобы визуализировать эти примитивы, – использовать при вызове gl DrawArrays /glDrawElements что-то кроме GL10. GL TRIANGLES. Эти примитивы также поддаются визуализации с индексированием, хотя это и несколько излишне (как минимум, в случае с точками). На рис. 7.18 показан список всех типов примитивов, которые нам предлагает OpenGLES.

Читать »

ОПРЕДЕЛЯЕМ 3D -ЯЧЕЙКИ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 9 July, 2013 категория: Программирование игр под Android

 

До этого момента мы использовали лишь несколько треугольников в качестве основы для объектов нашего мира. Пора перейти к более сложным объектам.

Мы уже говорили о том, что GPU – это просто очень большая машина для рисования треугольников. Все наши трехмерные объекты должны были состоять из треугольников. В предыдущих главах мы применяли два треугольника для того, чтобы создать плоский прямоугольник. Принципы, которые мы задействовали тогда, например размещение вершин, цвета, текстурирование и индексирование вершин, точно так же можно применить и в 3D. Треугольники теперь не ограничены двумерной плоскостью, мы можем свободно определять позицию каждой вершины в трехмерном пространстве.

Читать »