Page 5 of 6

Re: TinyGL

Posted: Mon Oct 01, 2018 6:25 pm
by Leency
#7421

Code: Select all

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

Re: TinyGL

Posted: Tue Sep 08, 2020 12:03 am
by Leency

Re: TinyGL

Posted: Tue Sep 08, 2020 10:43 pm
by IgorA
Прочитал по ссылке http://forum.cantorsys.com/viewtopic.php?id=143 ,
0CodErr wrote:Ещё есть проблема при выводе изображения в окно: координаты нижнего и правого края изображения при изменении размеров окна меняются на несколько пикселей как-то сами по себе, больше похоже на баг в библиотеке.
В библиотеке TinyGL (на C++) изменение размеров окна делается с кратностью в 4 пикселя. Может оно будет правильно работать и при изменении размеров на 1 пиксель я не проверял. В asm версии также сделал изменение размеров кратное 4-м пикселям.

Re: TinyGL

Posted: Wed Sep 09, 2020 3:22 pm
by IgorA
Почитал замечания от 0CodErr и сделал такие правки:
rev 8059
- добавлена функция gluPerspective,
- исправлена функция glFrustum (принимает параметры double через стек, раньше принимались указатели на double),
- немного доработан пример gears.

Сборка почему-то не пересобралась и ошибок никаких не выдала :?:

Re: TinyGL

Posted: Thu Sep 17, 2020 11:02 am
by IgorA
rev 8062, 8063
- добавлена функция glOrtho
- оптимизации и чистка кода

Re: TinyGL

Posted: Sat Sep 19, 2020 11:05 pm
by IgorA
rev 8069
- возможно плавное изменение размеров буфера (снято ограничение на кратность 4-м),
- исправления и чистки в коде,
- исправлены и доработаны примеры (в gears появился режим паузы включается через букву P).

Re: TinyGL

Posted: Thu Oct 15, 2020 6:45 pm
by turbocat
Привет в папке на SVN /programs/develop/libraries/TinyGL есть примеры на С. Но мне не ясно как я должен их скомпилировать если в папке GL нет нужных заголовочных файлов. Подскажите пожалуйста где их взять?

Re: TinyGL

Posted: Sun Nov 01, 2020 6:34 pm
by maxcodehack
Так.
Был tinygl на Си. Его портировали под kolibri.
Потом переписали на asm'е. И!
Библиотека, как и например boxlib лежит в sys/lib и называется tinygl.obj.
Попробуй переделать те примеры, вместо хедеров библиотеку загружай. Все равно си версия под menuetlibc и ней никто не занимается.
А на асме так еще и меньше весить будет.


А если не сможешь загрузить, скомпилируй как статическая .а, и тогда компилируй.

Re: TinyGL

Posted: Sun Nov 22, 2020 12:49 am
by Leency
superturbocat2001 wrote:Привет в папке на SVN /programs/develop/libraries/TinyGL есть примеры на С. Но мне не ясно как я должен их скомпилировать если в папке GL нет нужных заголовочных файлов. Подскажите пожалуйста где их взять?
Гугление ведет на сайт автора http://www.iadn.narod.ru/ может там есть?

Re: TinyGL

Posted: Tue Dec 15, 2020 12:38 am
by IgorA
rev 8408
В ассемблерную библиотеку tinygl добавлены функции: glVertex2d, glVertex2dv, glVertex3d, glVertex3dv, glVertex4d, glVertex4dv.
Также сделан пример подключения tinygl для bcc32.

Re: TinyGL

Posted: Tue Dec 28, 2021 12:54 pm
by vitalkrilov
Никто не знает, как подключить 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, но толку не было.

Re: TinyGL

Posted: Tue Dec 28, 2021 2:07 pm
by rgimad
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 это просто либа на фасме, таких много

Re: TinyGL

Posted: Tue Dec 28, 2021 2:08 pm
by IgorA
vitalkrilov wrote:Никто не знает, как подключить Tinygl.obj в Tiny C Compiler, чтобы можно было компилировать внутри KolibriOS?
Для этого нужно создать таблицу экспорта функций из библиотеки Tinygl.obj . Потом подключить библиотеку используя для этого таблицу экспорта. Например для компилятора BCC эта таблица выглядит так (для Tiny C Compiler эта таблица будет выглядеть по другому):

Code: Select all

#define import_tinygl glEnable
void (__stdcall* glEnable)(int code) = (void (__stdcall*)(int))&"glEnable";
void (__stdcall* glDisable)(int code) = (void (__stdcall*)(int))&"glDisable";
...
void (__stdcall* glTranslatef)(float x, float y, float z) = (void (__stdcall*)(float, float, float))&"glTranslatef";
...
Файлы <TINYGL/KOSGL.H>, <GL/GL.H>, <GL/GLU.H> создавались для C++ версии библиотеки Tinygl, которая компилировалась сразу в исполняемый файл программы. Т. е. нужно найти для Tiny C Compiler-а пример подключения какой-либо библиотеки *.obj и сделать по аналогии с ней обертки именно для Tinygl.obj .

Re: TinyGL

Posted: Tue Dec 28, 2021 3:03 pm
by vitalkrilov
Спасибо за ответы
rgimad wrote:Ты линкуешь библиотеку? -lимябиблиотеки .
Ну.. это как раз и не работало, 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 (а то, к сожалению, нет таких).

Re: TinyGL

Posted: Tue Dec 28, 2021 3:11 pm
by rgimad
vitalkrilov wrote: Ну.. это как раз и не работало, TCC .obj'ы не принимает
Да. поэтому надо делать обертку статическую либу (.a), которая подгружает эту obj-либу. И потом уже линковаться с этой оберткой.