реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> 2D ускоритель, Как их делают?
muravei
сообщение Jun 11 2010, 07:27
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



С графическими контроллероми понятно, а как 2D акселераторы делают?
Типа того
Go to the top of the page
 
+Quote Post
Methane
сообщение Jun 11 2010, 07:43
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(muravei @ Jun 11 2010, 10:27) *
С графическими контроллероми понятно, а как 2D акселераторы делают?
Типа того

А что такого? Алгоритмы рисования линий, полигонов просто на ПЛИС делают и все. К примеру полупрозрачность - прочитали строку из SDRAM, одновременнос прибавлением к примеру 10, и записали обратно. Получилась горизонтальная линия полупрозрачная.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Jun 11 2010, 21:04
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(muravei @ Jun 11 2010, 11:27) *
С графическими контроллероми понятно, а как 2D акселераторы делают?
Типа того

Так это демки альтеры, у меня такие в ките зашиты. Как я понял, это демонстрация не графического ускорителя, а возможностей процессора NIOS II и операционной системы с графическими библиотеками сторонних производителей. Собственно, ускорять то там нечо. Все это я думаю программное.

Например, смотрел код 2-х программ для NIOS II (application selector и picture viewer) так там и прямоугольники, и круги , и линии - все исключительно программно рисуется, по одной точке, у каждой координаты высчитываются в программе.

Помню где-то в середине 90-х были соревнования программеров для PC, размер кода был ограничен то ли 4-мя, то ли 10-ю килобайтами. Так люди в эти килобайты такое вталкивали, говорили, что в одной программе код программы одновременно являлся массивом констант. Так вот все это работало на 386SX и без всяких ускорителей и эффекты там были намного интересней, например очень реалистично было нарисовано пламя в динамике.

Сообщение отредактировал alexPec - Jun 11 2010, 21:12
Go to the top of the page
 
+Quote Post
des333
сообщение Jun 11 2010, 21:41
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(alexPec @ Jun 12 2010, 01:04) *
Помню где-то в середине 90-х были соревнования программеров для PC, размер кода был ограничен то ли 4-мя, то ли 10-ю килобайтами. Так люди в эти килобайты такое вталкивали, говорили, что в одной программе код программы одновременно являлся массивом констант. Так вот все это работало на 386SX и без всяких ускорителей и эффекты там были намного интересней, например очень реалистично было нарисовано пламя в динамике.

Они и сейчас есть.  smile.gif


http://www.demoscene.ru/demo/demo1a.php3?2010


--------------------
Go to the top of the page
 
+Quote Post
x736C
сообщение Jun 11 2010, 22:01
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(alexPec @ Jun 12 2010, 01:04) *
что в одной программе код программы одновременно являлся массивом констант.
Что естественно, так как писалось на асме.

UPD: Только сейчас понял глубину вашей фразы. Если одновременно код являлся константами — то это круто конечно. Подобное помню только в bat-вирусах.

Прошу прощения за оффтоп.

Сообщение отредактировал x736C - Jun 11 2010, 22:04
Go to the top of the page
 
+Quote Post
muravei
сообщение Jun 13 2010, 08:23
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(alexPec @ Jun 12 2010, 01:04) *
возможностей процессора NIOS II

Да,это не слишком удачно.
Но может , есть где примеры кода на ПЛИС?
Go to the top of the page
 
+Quote Post
muravei
сообщение Jun 15 2010, 16:44
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Спрошу по другому: 1111493779.gif
Как аппаратно нарисовать дугу или прямую , не параллельную сторонам экрана? Теоретически , хотябы. sad.gif
Go to the top of the page
 
+Quote Post
Methane
сообщение Jun 15 2010, 16:47
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(muravei @ Jun 15 2010, 19:44) *
Спрошу по другому: 1111493779.gif
Как аппаратно нарисовать дугу или прямую , не параллельную сторонам экрана? Теоретически , хотябы. sad.gif

Вы уж решите что вам. Брезенхейм гуглите.
Go to the top of the page
 
+Quote Post
muravei
сообщение Jun 16 2010, 06:40
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(Methane @ Jun 15 2010, 20:47) *
Вы уж решите что вам. Брезенхейм гуглите.

Да, мне по барабану, что вам проще.

Чего его гуглить , меня не он интересует, а его реализация на ПЛИСном языке.

Кстати, я давно не гуглю, а нигмлю. smile.gif
Не нравится мне этот ваш гугиль-мугиль.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jun 16 2010, 07:01
Сообщение #10


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(muravei @ Jun 16 2010, 09:40) *
Чего его гуглить , меня не он интересует, а его реализация на ПЛИСном языке.

Кстати, я давно не гуглю, а нигмлю. smile.gif
Не нравится мне этот ваш гугиль-мугиль.

ПЛИСного языка не существует. Есть языки описания аппаратуры - это VHDL, Verilog, System Verilog
Для того чтобы получить корректные ответы, нужно самому, что-то на форум выложить. Мой совет начните например с функциональной схемы.
Попробуйте поискать описания на микросхемы - посмотрите там архитектуру.
Например это
Моожет еще/или это Здесь же приведена архитектура
Пример разработки на ПЛИС
Здесь можете найти алгоритмы...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
nckkm
сообщение Jun 16 2010, 07:03
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 13-04-10
Пользователь №: 56 623



Цитата(muravei @ Jun 16 2010, 10:40) *
Да, мне по барабану, что вам проще.

Чего его гуглить , меня не он интересует, а его реализация на ПЛИСном языке.

Кстати, я давно не гуглю, а нигмлю. smile.gif
Не нравится мне этот ваш гугиль-мугиль.


Если рассматривать совсем примитивно, то рисование линии "на ПЛИСном" языке может быть очень похоже на рисовании линии на каком нибудь С. Вычисляется адрес первого пикселя в памяти экрана - делается его запись туда - вычисляется адрес следующего пикселя - запись. И так далее. С одной стороны уже это будет "ускоритель" поскольку освобождает центральный процессор, рисование делается "процессором ускорителя". С другой стороны такой подход "в лоб" может оказаться не очень эффективным, поскольку запись в память короткими порциями по разным адресам не очень производительна. Хорошо бы кешировать. Ну и многое зависит от типа памяти.
Go to the top of the page
 
+Quote Post
yes
сообщение Jun 16 2010, 08:48
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(alexPec @ Jun 12 2010, 01:04) *
Так это демки альтеры, у меня такие в ките зашиты. Как я понял, это демонстрация не графического ускорителя, а возможностей процессора NIOS II и операционной системы с графическими библиотеками сторонних производителей. Собственно, ускорять то там нечо. Все это я думаю программное.


НЕТ это именно демка ускорителя (контора TES, девайс D/AVE 2D)
http://www.tesbv.com/index.php?option=com_...9&Itemid=91
хрена такое видео на ниосе сделаешь - совершенно не те возможности

автору - такой ускоритель сделать сложно, тем более, чтобы он влез в циклон. и к нему софта нужно немерянно (я даже не знаю, скока индусов было потрачено на софт (guliani) для этой демки, вернее чтоб можно было такую демку написать)
upd: то есть на халяву вряд ли найдете (мне не удалось) что-либо более менее стоящее

начтите с С/С++ - алгоритмы машинной графики или тому подобное (хоть в яндексе, хоть в книжных магазинах) - а на ПЛИС это можно перенести несколькими способами - то есть
в природе есть ПО которое может С скомпилить для ПЛИС, также есть SystemC (С++ библиотека)

ну и вообще, после токо, как на С сможете нарисовать (в "замедленном" режиме), перенести на "язык" ПЛИС это не проблема
Go to the top of the page
 
+Quote Post
muravei
сообщение Jun 16 2010, 09:05
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(Maverick @ Jun 16 2010, 11:01) *
Есть языки описания аппаратуры - это VHDL, Verilog, System Verilog

Вот-вот! Я и говорю :"ПЛИСного", а подрузамеваю : "VHDL, Verilog, System Verilog" smile.gif
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jun 16 2010, 09:43
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(yes @ Jun 16 2010, 11:48) *
...также есть SystemC (С++ библиотека)...

А вы знаете нормальный синтезатор для SystemC ?
Go to the top of the page
 
+Quote Post
muravei
сообщение Jun 16 2010, 10:02
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(Maverick @ Jun 16 2010, 11:01) *
Мой совет начните например с функциональной схемы.

Как раз эта часть функ. схемы наиболее непонятна.
Линию параллельно стороне или прямоугольник- эт понятно, я нарисовал бы.
Цитата(nckkm @ Jun 16 2010, 11:03) *
Вычисляется адрес первого пикселя в памяти экрана - делается его запись туда - вычисляется адрес следующего пикселя - запись. И так далее. С одной стороны уже это будет "ускоритель" поскольку освобождает центральный процессор, рисование делается "процессором ускорителя". С другой стороны такой подход "в лоб" может оказаться не очень эффективным, поскольку запись в память короткими порциями по разным адресам не очень производительна. Хорошо бы кешировать. Ну и многое зависит от типа памяти.

Так , в принципе , и думал.
А если запись делать не скакая по экрану, а вовремя регенерации его, ну и что -то вроде конвеера, точка одной линии (чтение-модиф.-запись) точка др. линии и тд

Цитата(yes @ Jun 16 2010, 12:48) *
такой ускоритель сделать сложно,

Ну, чуть попроще. smile.gif
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 10:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01499 секунд с 7
ELECTRONIX ©2004-2016