Oberon space

General Category => Общий раздел => Тема начата: valexey_u от Май 07, 2013, 09:16:42 pm

Название: [BlackBox] Быстрое рисование.
Отправлено: valexey_u от Май 07, 2013, 09:16:42 pm
Чую надо отдельную тему завести.

Итак задача - нужно быстро рисовать. То есть нужно выводить на экран картинку 640x480 без мерцания, 30 кадров в секунду. Картинка уже сформирована и есть в виде буфера (одномерного массива), например вот в таком виде: http://oberspace.dyndns.org/index.php/topic,484.msg16241.html#msg16241.

Как это сделать максимально просто и не слишком криво?
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: valexey_u от Май 07, 2013, 10:01:32 pm
OK. Упростим задачу - нужно просто вывести картинку (bmp или ppm) на экран.
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: DddIzer от Май 08, 2013, 01:41:22 am
если под виндой то функции gdi, если универсально то opengl
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: valexey_u от Май 08, 2013, 01:48:25 am
если под виндой то функции gdi, если универсально то opengl
Вообще хотелось переносимо чисто ББшно. Однако оказалось что Ports.Frame умеет всякие там эллипсы и прочие кривые, а вот банально растр вывести не может никак. WinAPI (aka GDI) использовать не вариант вообще.

Так что пока остановился на OpenGL.
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: DddIzer от Май 08, 2013, 02:00:13 am
тогда зачем задавать риторические вопросы?
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: valexey_u от Май 08, 2013, 02:04:38 am
тогда зачем задавать риторические вопросы?
Я его задал до того как нашел приемлемое решение. Спасибо Ilovb за консультацию :-)
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: valexey_u от Май 11, 2013, 10:26:55 pm
Похоже таки придется пробовать Win32 API - мне на этом битмапе еще рисовать надо. И если окружности да линии я и сам могу, то вот текст...
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: ilovb от Май 12, 2013, 08:00:50 am
SDL умеет текст рисовать. А для OpenGL есть http://sourceforge.net/projects/ftgl/

Но нужно биндить ессесна.
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: DddIzer от Май 12, 2013, 03:02:34 pm
Похоже таки придется пробовать Win32 API - мне на этом битмапе еще рисовать надо. И если окружности да линии я и сам могу, то вот текст...
хе .. ну как "выкусили"... вот так и со всеми  Оберонами - косяк на косяке... когда что- попытаешься  сделать выше уровня поделья... оказывается , что реально все "хваленные" преимущества либо отсутствуют, либо аннулируются косяками различной степени неприятности.. Конечно , всегда можно сказать что вы пытаетесь делать то , под что он не заточен.. но тогда возникает вопрос - под что он заточен? под программирование "ретро" платформ..  ;D.
Кстати, нафига понадобилось отображать текст в битмэпе?
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: DddIzer от Май 12, 2013, 03:05:53 pm
А для OpenGL есть http://sourceforge.net/projects/ftgl/

Но нужно биндить ессесна.
Нафига.. эта кака под винду.. и от кроссплатформенности остается пшик.. уж лучше  тогда используя винапи.. -тормозить хоть меньше будет.
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: valexey_u от Май 12, 2013, 03:15:42 pm
А для OpenGL есть http://sourceforge.net/projects/ftgl/

Но нужно биндить ессесна.
Нафига.. эта кака под винду.. и от кроссплатформенности остается пшик.. уж лучше  тогда используя винапи.. -тормозить хоть меньше будет.
Угу. Поскольку Ogl подсистема из коллекции Гельмута Цинна один фиг рисует в конечно итоге через Win32 API BitBlt, то есть без хардварного ускорения, идея в том, чтобы убить лишнего - то есть OpenGl, и поиметь с этого немножечко ништяков.
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: Jordan от Май 12, 2013, 04:53:10 pm
Дизер

Довольно странные притензии.

Что, в с или с++, работа с графикой происходит через библиотеки. Если взять free basic, вывод графики встроен в язык, это конечно хорошо, но если сравнивать с sdl, sdl намного гибче и универсальнее.

Алексей зачем привязываться к винапи. Возьми sdl, тайиер, рабрта с растровой графикой, легкое подключение opengl и dx, шрифты, звук и т.д всё есть.
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: DddIzer от Май 12, 2013, 05:25:08 pm
Дизер

Довольно странные притензии.

Что, в с или с++, работа с графикой происходит через библиотеки. Если взять free basic, вывод графики встроен в язык, это конечно хорошо, но если сравнивать с sdl, sdl намного гибче и универсальнее.

Алексей зачем привязываться к винапи. Возьми sdl, тайиер, рабрта с растровой графикой, легкое подключение opengl и dx, шрифты, звук и т.д всё есть.
какие к черту претензии - это ощущения от знакомства.. когда начинаешь осознавать что потратив время на проработку какого -нибудь вопроса и разобравшись с  сутью проблемы, гораздо выгоднее (менее трудозатратно) обратиться другому инструменту (в частности, работать с винапи напрямую  нежели с компонентами из коллекции Цинна).
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: DddIzer от Май 12, 2013, 05:36:12 pm
... когда тратишь определенный ресурс на то, что бы договорится с нормальными людьми.. о том, что бы поставить Обсерон на сервак, дабы детишки заценили его "рекламируемую" коровятами мощь в обучении на олимпиадных задачах (без п-жа в честном сравнении) ... где с точки зрения языка требуется стандартный джентельменский набор.. а оказывается.. что нормально нельзя ввести целое число.. и вывести отформатированный результат , согласно спецификации задачи (нехитрый).. и таких примеров у меня с десяток за 3 года..
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: valexey_u от Май 12, 2013, 06:09:45 pm
Дизер

Довольно странные притензии.

Что, в с или с++, работа с графикой происходит через библиотеки. Если взять free basic, вывод графики встроен в язык, это конечно хорошо, но если сравнивать с sdl, sdl намного гибче и универсальнее.
Не нужно сравнивать язык и фреймворк. В Компонентном Паскале в общем то даже вывода в консоль нет, не то что графики. Поэтому корректное сравнение будет либо C++/Qt VS CP/BB либо C++ VS CP.

Алексей зачем привязываться к винапи. Возьми sdl, тайиер, рабрта с растровой графикой, легкое подключение opengl и dx, шрифты, звук и т.д всё есть.
Мне нужно это все оформить в виде View, то есть оно должно встраиваться в составной документ.
Название: Re: [BlackBox] Быстрое рисование.
Отправлено: DddIzer от Май 12, 2013, 06:16:54 pm
Дизер

Довольно странные притензии.

Что, в с или с++, работа с графикой происходит через библиотеки. Если взять free basic, вывод графики встроен в язык, это конечно хорошо, но если сравнивать с sdl, sdl намного гибче и универсальнее.
Не нужно сравнивать язык и фреймворк. В Компонентном Паскале в общем то даже вывода в консоль нет, не то что графики. Поэтому корректное сравнение будет либо C++/Qt VS CP/BB либо C++ VS CP.

даже если сравнивать корректно(т.е. по вашему) - ничего это не изменит..