Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Как можно рисовать быстрее GDI?   Найти похожие ветки 

 
kingdom   (2004-07-21 18:08) [0]

Я думал использовать DirectX, а точнее DirectDraw, но там все заточено под 3D, т.е. чтобы нарисовать квадрат, нужно испльзовать Direct3D, а мне нужно делать простые вещи
- рисовать линии/окружности и т.д.
- закрашивать
но очень быстро, быстрее чем это делает GDI.

Можно ли использовать для этих целей DirectDraw?
А что вообще можно использовать для этих целей?


 
Palladin ©   (2004-07-21 18:20) [1]

Можно конечно, можно и http://www.delphikingdom.com/asp/viewitem.asp?catalogid=772


 
NOX   (2004-07-21 18:31) [2]

Естественно! С использованием DirectDraw можно сделать 2D графику любой сложности. В сети об этом море инфы.


 
Красный молоток   (2004-07-21 18:34) [3]

//а точнее DirectDraw, но там все заточено под 3D
DirectDraw заточен под 3D?!!!


 
kingdom   (2004-07-21 18:45) [4]

>Palladin
Спасибо за ссылку. Как я понял, GDI+ это более современный и удобный вариант чем просто GDI. Однако производительность его под впросом.

>NOX
Может я не так ищу, но что-то мне пока ничего не попалось =))
практически всегда под 2D графикой понимаются 2D игрушки, а они пишутся с использованием спрайтов, т.е. рисование линий, окружностей там просто нет. А мне надо именно это. Если вы подскажите мне источник, буду вам очень признателен.

>Красный молоток
Пожалуй не точно выразился, DirectX заточен под 3D, мне так кажется.


 
kingdom   (2004-07-21 18:46) [5]

>NOX
а что я напишу между
DirectDrawSurface7.Lock
и
DirectDrawSurface7.Unlock
??
с помощью чего рисовать-то


 
Palladin ©   (2004-07-21 18:52) [6]


> [4] kingdom   (21.07.04 18:45)

Статью то читал? почитай внимательней первые абзацы? Прямой доступ к памяти, практически тоже, что и DirectDraw ранее 7 версии.


> а что я напишу между
> DirectDrawSurface7.Lock
> и
> DirectDrawSurface7.Unlock
> ??
> с помощью чего рисовать-то

С помощью примитивов.


 
kingdom   (2004-07-21 19:08) [7]

>Palladin
Статью смотрел, однако упоминание о "прямом доступе к памяти" которое есть в тексте не относится к GDI+

"Как вы все знаете в DELPHI до сих пор используется библиотека GDI предоставляющая разработчику скудный (по сегодняшним меркам) набор функций для рисования, поэтому программистам приходится идти на всякие ухищрения при работе с графикой, используя DirectX, OpenGL или библиотеки доступа непосредственно к видеопамяти. Данная библиотека существенно упростить..."

Как мне кажется, это упоминание относится к слову "ухищрения", а не к "данной библиотеке". Вы согласны?

"С помощью примитивов."
Вы имеете ввиду использовать DDraw и GDI+ совместно?


 
Огромное Кулясищще ©   (2004-07-21 20:29) [8]

> Как можно рисовать быстрее GDI?

www.g32.org  см. Graphic32

> с помощью чего рисовать-то

Вывод пикселя через прямоугольник 1х1. Попиксельно рисуй примитивы.


 
kingdom   (2004-07-23 15:53) [9]

>Огромное Кулясищще
Я посмотрел g32, крутая штучка!!
На сколько я понял она работает на прямую с памятью?
На их сайте нету описалова как она работает =(


 
pavia   (2004-07-23 17:05) [10]

То kingdom Что работает быстрее не знаю.Но 3 вареанта. OpenGL - много всего,DirectDrow-чучуть 2d приметивов.Написать сваи примитивы.

> Вывод пикселя через прямоугольник 1х1.

Думаю что это будет еще более тормознута.


 
kingdom   (2004-07-23 17:52) [11]

>pavia
В DirectDraw нет примитивов для рисования.

Как мне кажется, OpenGL и DirectX заточены для 3D, поэтому использовать их для 2D (line, circle, rect и т.д.) смысла нет. Может использовать, например DirectDraw для прямогодоступа как памяти, а рисовать, например через GDI или написать что-то свое.

Как вы думаете?


 
Огромное Кулясищще ©   (2004-07-23 18:03) [12]

>Я посмотрел g32, крутая штучка!!
На сколько я понял она работает на прямую с памятью?
На их сайте нету описалова как она работает =(


Примерно так. На сайте описнаия нет, но код то открыт. :)

>Как мне кажется, OpenGL и DirectX заточены для 3D, поэтому использовать их для 2D (line, circle, rect и т.д.) смысла нет. Может использовать, например DirectDraw для прямогодоступа как памяти, а рисовать, например через GDI или написать что-то свое.

Скажем, смысл есть, потому что это очень быстро. Например, есть программа 3DPaint - как PhotoShop, но только с hardware ускорением.

DirectDraw устарел, он больше не обновляется.

Далее, твоя идея совместить DirectDraw и GDI не нова. Например, miek уже написал подобную библиотеку (SpriteUtils 2), ты можешь скачать её: miek.narod.ru


 
kingdom   (2004-07-23 18:34) [13]

>Огромное Кулясищще
Ну да, я в сорцы и полез =)
И идея не моя =)

А где-нить есть теоритический материал на эту тему?
А то книжек таких в магазине нету =( и в инете что-то ничего не попадалось пока


 
pavia   (2004-07-23 19:00) [14]

OpenGL является на данный момент одним из самых популярных программных интерфейсов (API) для разработки приложений в области двумерной и трехмерной графики. Стандарт OpenGL был разработан и утвержден в 1992 году ведущими фирмами в области разработки программного обеспечения, а его основой стала библиотека IRIS GL, разработанная Silicon Graphics.

DirectX - заточен под 3D я спорить не буду.Но в его комплекте есть возможность использовать 2D приметивы.Линия точка триугольник.Я невижу ничего пред осудительного в использование 3D для создания плоских фигур.Так как ресование 3D занимаються 3D ускорители .Вот личии от 2D ресование которых занимается ЦП.


 
kingdom   (2004-07-23 19:15) [15]

>pavia
OpenGL и DirectX это одного поля ягоды =)
Я здесь уже писал, но повторюсь
...практически всегда под 2D графикой понимаются 2D игрушки, а они пишутся с использованием спрайтов! Это значит быстрое копирование и обработка изображений, а нужно РИСОВАНИЕ линий, окружностей и заливка фигур.


 
pavia   (2004-07-23 19:30) [16]

>kingdom
В OpenGl есть рисование линей триугольников многоугольников их заливак и многое др.Если ты незнаеш как. Читай М.Краснова.



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.046 c
3-1095398667
cad2206
2004-09-17 09:24
2004.10.17
Данные из двух таблиц в одном DBGrid???


1-1096549347
roma
2004-09-30 17:02
2004.10.17
Button1 i Button2


14-1096101166
Lenor
2004-09-25 12:32
2004.10.17
как узнать, кем...


4-1095173143
surkis
2004-09-14 18:45
2004.10.17
ServiceApplication


1-1096608379
Slonco
2004-10-01 09:26
2004.10.17
Как перевести текст из WIN кодировки в DOS кодировку ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский