Скрипты: OpenCL Test - страница 2

 
Renat будут доступны новые возможности по созданию графических ресурсов на лету с помощью функций ResourceCreate().
будет анонсирована только ф-ция ResourceCreate() или будет подготовлен класс для работы с графическими объектами/примитивами ?
 
IgorM:
будет анонсирована только ф-ция ResourceCreate() или будет подготовлен класс для работы с графическими объектами/примитивами ?

Будет уже доступна эта функция.

С ее помощью уже можно делать собственные библиотеки для рисования в собственном буфере, а потом привязывать их к объектам. Тем самым можно полностью избавиться от внешних библиотек рисования во внешних BMP файлах.

Вот небольшой пример - можно напрямую рисовать в буфере buf, а потом создавать на его основе ресурс и назначать его объекту.

   uint buf[];

   ArrayResize(buf,SIZE_X*SIZE_Y);
   ResourceCreate(resname,buf,SIZE_X,SIZE_Y,0,0,SIZE_X,COLOR_FORMAT_XRGB_NOALPHA);
   ObjectSetString(0,objname,OBJPROP_BMPFILE,"::"+resname);


Чуть позже сделаем библиотеку примитивов для рисования в этих же буферах с применением нативных функций 2D ускорения. Это позволит рисовать гораздо быстрее.

 
Renat:

Будет уже доступна эта функция.

С ее помощью уже можно делать собственные библиотеки для рисования в собственном буфере, а потом привязывать их к объектам. Тем самым можно полностью избавиться от внешних библиотек рисования во внешних BMP файлах.


эта функция будет доступна ведь для всего MQL, а нге только для работы с OpenCL  ? 

и как обстоят дела с альфа каналом в создаваемых BMP ресурсах ?

 
Чуть позже сделаем библиотеку примитивов для рисования в этих же буферах с применением нативных функций 2D ускорения.

понятно, но имхо, лучше разработчикам сразу анонсировать и новую ф-цию и базовый класс для работы с графикой, иначе опять начнутся "выкрики из зала" насчет сложностей при программировании на mql5

ЗЫ: только у меня не работает ссылка "ответить" ? вместо цитирования поста появляется окно "Новый комментарий"

 

sergeev 2012.03.19 17:25 # 

и как обстоят дела с альфа каналом в создаваемых BMP ресурсах ?
так вроде работает 
 
sergeev:


эта функция будет доступна ведь для всего MQL, а нге только для работы с OpenCL  ? 

и как обстоят дела с альфа каналом в создаваемых BMP ресурсах ?

Да, эта функция общая и не имеет прямого отношения к OpenCL.

Все графические ресурсы с 32 битным цветом и имеют полноценную поддержку альфа-канала. При создании графической картинки можно использовать разные типы работы с альфа каналом:

  • COLOR_FORMAT_XRGB_NOALPHA     - color буфер содержит 24 битный цвет, а альфа канал игнорируется (самый быстрый способ вывода)
  • COLOR_FORMAT_ARGB_RAW            - полноценная 32 битная картинка с альфа каналом. выводится как есть (медленнее)
  • COLOR_FORMAT_ARGB_NORMALIZE  - 32 битная картинка с альфа каналом, требующим нормализацию (происходит модификация исходной картинки, чтобы при наложении не было порчи цветов при переполнении  значимых разрядов)

Кстати, все считываемые через #resource картинки автоматически приводятся к 32 битному виду и сжимаются при записи в EX5 файлы.

 
IgorM:

понятно, но имхо, лучше разработчикам сразу анонсировать и новую ф-цию и базовый класс для работы с графикой, иначе опять начнутся "выкрики из зала" насчет сложностей при программировании на mql5

Наш принцип - выпускаем часто по частям и следим за результатом.

Если ждать "вот когда будет библиотека готова", то скорость нашей разработки упадет в 5-10 раз и билды будут раз в полгода.

 
Mischek:
так вроде работает 
я ж про ResourceCreate
 
Renat:

Да, эта функция общая и не имеет прямого отношения к OpenCL.

ну тогда вообще прекрасно все.
А то уже поднадоело временные файлы создавать для BMP.
 
упс, интересная тема
Причина обращения: