Gears (TinyGL asm):
- add key description to window
- uncomment zoom code
- add key shortcut "+" for zoom-in
TinyGL asm images:
- much better compression,
for instance, TEXT_2.PNG from 235Kb to 106Kb without any visible degradation
0CodErr wrote:Ещё есть проблема при выводе изображения в окно: координаты нижнего и правого края изображения при изменении размеров окна меняются на несколько пикселей как-то сами по себе, больше похоже на баг в библиотеке.
В библиотеке TinyGL (на C++) изменение размеров окна делается с кратностью в 4 пикселя. Может оно будет правильно работать и при изменении размеров на 1 пиксель я не проверял. В asm версии также сделал изменение размеров кратное 4-м пикселям.
Почитал замечания от 0CodErr и сделал такие правки: rev 8059
- добавлена функция gluPerspective,
- исправлена функция glFrustum (принимает параметры double через стек, раньше принимались указатели на double),
- немного доработан пример gears.
Сборка почему-то не пересобралась и ошибок никаких не выдала
rev 8069
- возможно плавное изменение размеров буфера (снято ограничение на кратность 4-м),
- исправления и чистки в коде,
- исправлены и доработаны примеры (в gears появился режим паузы включается через букву P).
Привет в папке на SVN /programs/develop/libraries/TinyGL есть примеры на С. Но мне не ясно как я должен их скомпилировать если в папке GL нет нужных заголовочных файлов. Подскажите пожалуйста где их взять?
Так.
Был tinygl на Си. Его портировали под kolibri.
Потом переписали на asm'е. И!
Библиотека, как и например boxlib лежит в sys/lib и называется tinygl.obj.
Попробуй переделать те примеры, вместо хедеров библиотеку загружай. Все равно си версия под menuetlibc и ней никто не занимается.
А на асме так еще и меньше весить будет.
А если не сможешь загрузить, скомпилируй как статическая .а, и тогда компилируй.
superturbocat2001 wrote:Привет в папке на SVN /programs/develop/libraries/TinyGL есть примеры на С. Но мне не ясно как я должен их скомпилировать если в папке GL нет нужных заголовочных файлов. Подскажите пожалуйста где их взять?
rev 8408
В ассемблерную библиотеку tinygl добавлены функции: glVertex2d, glVertex2dv, glVertex3d, glVertex3dv, glVertex4d, glVertex4dv.
Также сделан пример подключения tinygl для bcc32.
Никто не знает, как подключить Tinygl.obj в Tiny C Compiler, чтобы можно было компилировать внутри KolibriOS?
Я нашел заголовочные файлы <TINYGL/KOSGL.H>, <GL/GL.H>, <GL/GLU.H> и переписал из SVN /programs/develop/ktcc/trunk/samples/tinygl/gears.c.
В итоге TCC пишет много строк типа: "tcc: error: undefined symbol 'ФУНКЦИЯ_ИЗ_GL_H'"(ф-ии типа glTranslatef и прочие). Я пробовал в аргументы подсунуть Tinygl.obj, но толку не было.
vitalkrilov wrote:Никто не знает, как подключить Tinygl.obj в Tiny C Compiler, чтобы можно было компилировать внутри KolibriOS?
Я нашел заголовочные файлы <TINYGL/KOSGL.H>, <GL/GL.H>, <GL/GLU.H> и переписал из SVN /programs/develop/ktcc/trunk/samples/tinygl/gears.c.
В итоге TCC пишет много строк типа: "tcc: error: undefined symbol 'ФУНКЦИЯ_ИЗ_GL_H'"(ф-ии типа glTranslatef и прочие). Я пробовал в аргументы подсунуть Tinygl.obj, но толку не было.
Ты линкуешь библиотеку? -lимябиблиотеки . P.S логичнее было не здесб задавать этот вопрос а в треде про tcc. Ведь tinygl.obj это просто либа на фасме, таких много
vitalkrilov wrote:Никто не знает, как подключить Tinygl.obj в Tiny C Compiler, чтобы можно было компилировать внутри KolibriOS?
Для этого нужно создать таблицу экспорта функций из библиотеки Tinygl.obj . Потом подключить библиотеку используя для этого таблицу экспорта. Например для компилятора BCC эта таблица выглядит так (для Tiny C Compiler эта таблица будет выглядеть по другому):
Файлы <TINYGL/KOSGL.H>, <GL/GL.H>, <GL/GLU.H> создавались для C++ версии библиотеки Tinygl, которая компилировалась сразу в исполняемый файл программы. Т. е. нужно найти для Tiny C Compiler-а пример подключения какой-либо библиотеки *.obj и сделать по аналогии с ней обертки именно для Tinygl.obj .
Ну.. это как раз и не работало, TCC .obj'ы не принимает
rgimad wrote:P.S логичнее было не здесб задавать этот вопрос а в треде про tcc. Ведь tinygl.obj это просто либа на фасме, таких много
Я думал, что дело не в вышенаписанном мною, а в том, что либа какая-то другая (console.obj ведь работал)
IgorA wrote:Т. е. нужно найти для Tiny C Compiler-а пример подключения какой-либо библиотеки *.obj и сделать по аналогии с ней обертки именно для Tinygl.obj
Я нашел что-то похожее: viewtopic.php?f=33&t=2980
Чуть отредактировал и обертка для console.obj сработала. Сейчас буду пробовать делать для Tinygl.obj такое. Если получится, то выложу на форум пример использования с TCC (а то, к сожалению, нет таких).