|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.06.2015, 13:39 | #1 |
Новичок
Джуниор
Регистрация: 02.06.2015
Сообщений: 3
|
Пример использования Gera WebGL 3D Library
Приветствую! Хочу поделиться с вами небольшим опытом работы с библиотекой, которая мне понравилась в работе с 3D графикой в браузере.
Для начала вот ссылочка на GitHub: https://github.com/amegas/gera Итак, у нас есть все source файлы, можно их собрать самим, но проще сразу юзать собранную версию, тем более, что она не минифицированна. Разберем простой примерчик. В теле html определяем canvas элемент (на нем то все и будет "держаться"), подключаем библиотеку и исполняемый скрипт. Вот такой получается html: Код HTML:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style type="text/css"> html, body { width: 100%; height: 100%; margin: 0px; padding: 0px; } canvas { width: 100%; height: 100%; display: block; } </style> <script src="gera-0.0.2.js"></script> <script src="app.js"></script> </head> <body> <canvas id="webgl-application"></canvas> </body> </html> Код:
Код:
Код:
Код:
Код:
Код:
Код:
задать прозрачность cubeMesh.transparency.set(); повернуть cubeMesh.rotate(Gera.Vector3()); постоянно вращать cubeMesh.rotation = new Gera.Rotation(). Вот пример изменения некоторых свойств: Код:
Код:
Код:
|
02.06.2015, 13:39 | #2 |
Новичок
Джуниор
Регистрация: 02.06.2015
Сообщений: 3
|
А на закуску приведу пример кода, который отрисовывает на сцене рандомные фигуры, рандомного цвета и прозрачности:
Код:
Как видите, просто нужно создание mesh объекта засунуть в цикл. Нужно заметить, что я специально не стал передавать все типы геометрии, а исключил сферу: Код:
return Math.floor( Math.random() * ( maximum - minimum + 1 ) ) + minimum; Аналогично работает "generateRandomArbitrary( 0.5, 1.0 ) " только без округления до целого: return Math.random() * ( maximum - minimum ) + minimum На этом пока закончу. PS Если у вас возникли проблемы при повторе действий в моем описании, пишите-отвечу, а также, можете глянуть на живой сэмпл: |
02.06.2015, 14:55 | #3 |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
Как там дела с многослойными текстурами, матрицей трансформации, материалами, светом, тенью, шейдерами, поддержкой многооконности сцены, поддержкой 3д-мониторов и окулусов всяких?
Вижу весит меньше THREE.js, соблазнительно...
Alar, верни репу!
|
02.06.2015, 15:24 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну дык за счет отсутствия кучи всего и весит меньше.
Да и пара сотен лишних КБ веса по-моему не проблема для таких задач, 3D графику ж не на все подряд сайты/страницы обычно кидать надо.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 02.06.2015 в 15:29. |
02.06.2015, 15:27 | #5 |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
Ну не факт, в THREE.js просто лишнего много, вроде поддержки CSS-3d
Alar, верни репу!
|
02.06.2015, 16:05 | #6 | |
Новичок
Джуниор
Регистрация: 02.06.2015
Сообщений: 3
|
Цитата:
мне в сравнении с three.js понравился стиль либы, если three.js пишут большой толпой, видны разные стили, нет вменяемой обработки ошибок и какой-то хаос то тут стиль - другой, при неправильном юзании либы сразу throw exception происходит, да и код как-то грамотнее смотрится внутри поэтому я не удивлюсь, что если ряд вещей появятся в ней и на это надеюсь |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пример использования ДЛЛ без исходников | Max1548 | Общие вопросы C/C++ | 15 | 09.08.2013 13:29 |
Пример использования многомерного массива | Ципихович Эндрю | JavaScript, Ajax | 3 | 15.10.2011 15:31 |
Простой пример использования TDrawGrid | bookkc | Помощь студентам | 1 | 17.03.2010 15:51 |
Нужнен пример использования dll | bookkc | Общие вопросы Delphi | 0 | 13.02.2010 13:37 |
Dec to Hex - пример использования | Roof | Общие вопросы Delphi | 8 | 03.08.2008 19:40 |