|
Опубликовано 04.10.2016 10:17 (8 лет назад) # |
Кхм...
|
|
|
|
Опубликовано 04.10.2016 10:57 (8 лет назад) # |
Daemon написал:
Кхм...
ну у меня так бывает если начинаешь растягивать экран. хотя там всё симметрично получается. но над этим багом я ещё собираюсь работать |
|
|
|
Опубликовано 04.10.2016 19:16 (8 лет назад) # |
а вот так код выглядит в шейдерах
и да, кто ещё не знает о этом сайте всем советую. если пройти по ссылке и заглянуть в галерею то можно увидеть много удивительного и интересного. Особенно нравится то что можно онлайн писать шейдер. |
|
|
|
Опубликовано 05.10.2016 06:36 (8 лет назад) # |
выложил исходники двух tutorials на гит хаб
Дальше буду создавать API Выкладывать тамже.
https://github.com/KeeperKira/free-Fall-KeeperKira.git |
|
|
|
Опубликовано 06.10.2016 17:58 (8 лет назад) # |
Daemon написал:
---------------------------
biomorph.exe - Системная ошибка
---------------------------
Запуск программы невозможен, так как на компьютере отсутствует libgcc_s_dw2-1.dll. Попробуйте переустановить программу.
---------------------------
ОК
---------------------------
Перезалил новую версию, скомпилированную в MSVC должно работать без либ. проверьте
Чтоб в mingw норм компилилось добавь в конце -static
Если не поможет тогда после статика еще добавить -libstdc++ |
|
|
|
Опубликовано 07.10.2016 02:43 (8 лет назад) # |
спасибо буду знать. |
|
|
|
Опубликовано 07.10.2016 03:24 (8 лет назад) # |
День #7
Решился таки дать более подробное описание.
Как говорил ранее цель проекта создать удобный фреймворк для работы с OpenGL. Причину создавать очередного фреймворка можно описать так.
В мире очень много фрейморков, в той или иной степени они вполне удобны. И даже развиваются. Но все они сталкиваются с одной при неприятнейший проблемой. С их ростом, растет и минимальный порог вступления. В итоге они становятся такими большими и сложными что новым участникам не то-что сделать вклад но и начать работаь с ним довольно проблематично. На мой взгляд это связано с низкой документированностью самого процесса разработки. Когда в лучшем случае комментируют код который получился в результате. Понимание которого для новых участников может быть непосильно сложным. Да и если смог в нем разобраться то обязательно появятся вопросы. Почему сделано именно так а не иначе.
Поэтому считаю необходимым вносить полную хронологию каждой функции. Чтобы при необходимости каждый смог понять, как из простого и понятного зародыша она превратилась в этого монстра с кучей под функций. И почему отказались от той или иной реализации в процессе создания.
Подведя итоги.
Создаю фреймворк параллельно создаю талмуд с нулевым порогом вхождения. который можно рассматривать как учебник по прочтению которого можно с легкостью создавать приложения и при необходимости менять код фреймворка. |
|
|
|
Опубликовано 07.10.2016 03:32 (8 лет назад) # |
P.S в той или иной степени это выполняется в гитхабе когда начинаешь пролистываь коммиты в обратном направлении дабы понять что там было ранее. Думаю было бы здорово если бы туда добавили возможность просматривать все изменения конкретной функции.
Может она есть,а я просто о ней не знаю?)) |
|
|
|
Опубликовано 07.10.2016 05:14 (8 лет назад) # |
Конкретной функции - навскидку нет (можно смотреть коммиты по строке, но строки очень часто смещаются), историю коммитов по файлам - да.
С их ростом, растет и минимальный порог вступления
Не у всех. Unity растет, но накидать в нем г*вно-игру мышкой по-прежнему легко и просто. А сделать качественный продукт было сложно всегда.
LibGDX - достаточно мощный фреймворк, порог вхождения в который преодолевается первыми двумя туториал-статьями в вики.
Смысл yet another {technology_name} framework чаще всего только один - набить личных шишек и приобрести опыта, чтобы впоследствии понимать, что и как работает внутри других фреймворков. Либо создать маленькую личную серебряную пулю.
offtop:
Я и сам заядлый любитель велосипедов, написал два движка, начинал еще минимум три, и по-прежнему хочу писать еще, втайне надеясь, что мой новый движок/фреймворк станет успешным, и все его будут использовать в том числе для коммерческих игр. Но здравый смысл понимает, что такого не будет, и надо наслаждаться самим процессом движкописания. |
|
|
|
Опубликовано 07.10.2016 06:22 (8 лет назад) # |
Unity это движок. со всеми вытекающими. и код не открытый.
LibGDX основной язык жаба. Не наш метод.
|
|
|
|
Опубликовано 07.10.2016 09:17 (8 лет назад) # |
Это были лишь примеры того, что такие проблемы испытывают далеко не все фреймворки/движки.
С движками под С++ с открытым исходным кодом лично знаком слабо. |
|
|
|
Опубликовано 12.10.2016 05:01 (8 лет назад) # |
день #12
Долго не мог заставить себя опять сесть за разработку. Но вот таки добрался и первым делом переписал функции инициализации в общий класс.назвал его OpenGL (да, я оригинал ещё тот).
В результате для запуска приложения достаточно написать след. код
#include <GL/glut.h>
#include "OpenGL.h"
OpenGL gl;
void draw (void)
{
//код отрисовки
}
int main ( int argc, char** argv )
{
gl.Create();
gl.Loop(draw);
return 0;
}
также добавил класс vec2 для более удобной работы с векторами. |
|
|
|
Опубликовано 12.10.2016 08:58 (8 лет назад) # |
Далее,собираюсь реализовать загрузку изображений.
Какие Либы по советуете?
Лично склоняюсь к FreeImage. |
|
|
|
Опубликовано 12.10.2016 09:01 (8 лет назад) # |
Я использую FreeImage. Вполне себе хорошая либа, только png с альфа каналом сохранять не умеет. |
|
|
|
Опубликовано 13.10.2016 08:36 (8 лет назад) # |
http://lodev.org/lodepng/ для загрузки PNG достаточно включить в проект один файл: picopng.cpp реализующий функцию decodePNG()
PS. неувидел что речь про сохранение PNG идет. но все равно. пусть это тут останется. послная версия позволяет как декодировать так и кодировать PNG формат в/из потока байт.
редакция от Uvadzucumi, 13.10.2016 08:41 |
|
|
|
Опубликовано 14.10.2016 06:54 (8 лет назад) # |
О, я же тоже lodepng юзаю, оно и читать, и сохранять умеет, и весит всего ничего.
Кстати, раз пошла такая пьянка - может ли кто посоветовать либу, чтобы сохранять анимированные GIF? Я в свое время искал - ничего легковесного вроде lodepng не нашел, а тяжеловесное заставить работать не удалось. |
|
|