Новые статьи Основы 3D с KhaВведение В данной статье мы рассмотрим 3d основы на примере api абстракции над OpenGL, WebGL и DirectX, реализованной в фреймворке Kha. Весь код будет представлен на языке Haxe, но вы не потеряетесь в нем, если знакомы с java/js-подобным синтаксисом. Итак, из чего состоит 3d модель? В первую очередь это меш (т.е. полигональная сетка, от англ. polygon mesh), что означает набор вершин (vertices), ребер (edges) и граней (faces). ![]() Полигоны и поверхности образуются из первых трех вещей, поэтому далее не затрагиваются. Кроме того, модель обычно включает в себя данные текстур, цвета, нормали и любую важную для рендера информацию, которую мы изучим подробнее в другой раз. Но сейчас, сконцентрируемся на самой меши – какое она имеет Продолжить Рейтинг: 7 (За: 8 | Против: 1) Добавлено: 21.07.2018 от RblSb Комментарии (4) C++ или программирование по-универовски. Часть 1. ОрганизацияОднажды в студёную зимнюю пору, решили, значится, в нашем универе студентов вводному курсу по программированию обучить. Да не просто программированию, а работе с формами на C++, использовав для этого софтину C++ Builder шестой версии. Стоит ли говорить, что хлопот у ребят это вызвало немало, что уж там, многие и после экзамена не поняли, что они на самом деле делали (или не делали). Но не будем о грустном, а в данной статье как раз таки попытаемся разобраться с этим универным программированием, т.к. используется там эта методика уже более 10 лет, и, думаю, ещё будет использоваться, по крайней мере до смены поколения преподавателей. ![]() Продолжить Рейтинг: 3 (За: 6 | Против: 3) Добавлено: 21.06.2018 от nitsu Комментарии (8) Апгрейд ноутбука. Добавляем память: RAMПродолжаю обновлять свой нотебук. Продолжить Рейтинг: 5 (За: 5 | Против: 0) Добавлено: 7.06.2018 от Витаминыч Комментарии (20) Апгрейд ноутбука. Добавляем память: HDDНачинаю потихоньку апгрейдить свой ноутбук, начал с самого легкого: расширение текущей памяти. Суть очень проста - надобность в DVD-приводе отпала, потому на его место и будет установлена дополнительная память. Продолжить Рейтинг: 3 (За: 7 | Против: 4) Добавлено: 20.04.2018 от Витаминыч Комментарии (18) Пример использования функционального программирования во избежание дублирования кодаДопустим, перед нами стоит задача загрузить конфиг приложения. Есть внутренний конфиг, который хранится в файле app.properties внутри jar-файла, и есть внешний — хранится в пользовательской директории ~/.config/app.conf. Приложение при запуске читает внешний конфиг. Если какого-то параметра в нём нет, будет браться значение из внутреннего. Если внешнего конфига вообще нет — читается внутренний. Для чтения внутреннего конфига используется класс ResourceBundle и его метод getString(String key), для внешнего — Properties Продолжить Рейтинг: 7 (За: 8 | Против: 1) Добавлено: 17.04.2018 от aNNiMON Комментарии (2) |