Вверх ↑
Ответов: 40
Рейтинг: -2
#1: 2013-06-14 19:40:10 ЛС | профиль | цитата
Всем привет, я нехочу тут расхваливать HiAsm, все и так знают что это самый мощный на сегодня
конструктор программирования, но не самый полноценный!

Проблема вот в чём:
Мультимедийность (5 Составных)
1/5 - работа с цифрами - ( реализовано очень хорошо )
2/5 - работа с текстом - ( реализовано очень хорошо )
3/5 - работа со звуком - ( реализовано очень хорошо )
4/5 - работа с 2D графикой - ( реализовано отлично! )
5/5 - работа с 3D графикой - ( реализовано только поверхностно! )

В принципе на HiAsm-е уже можно создать практически любое приложение, любого направления (кроме полноценного в 3D)...
из этого следует что он никогда по настоящему не станет популярен из за своей ОГРАНИЧЕННОСТИ!

Лично я заценил его огромный потенциал ещё только при зтакомстве с ним, но был вынужден перейти на Delphi, так как
застрял на OpenGL - а точнее с его неполноценностью! Единственное в чём мне помог HiAsm - это в освоении Delphi изучая IC

Но тогда HiAsm - становится лишь полезной обучалкой, после которой следует переходить на язык с более полными возможностями...
То есть - нет полноценного проекта на HiAsm-е, а значит и нет смысла выражать (денежную) благодарность разработчикам!


ТЕПЕРЬ К ДЕЛУ:

Есть (на сколько мне известно) открытый движок "GLScene" - который можно закрепить (доустановить) к Delphi-Пакету (практически всех версий) и не только!
Сам GLScene написан на Delphi! А значит его интеграция в HiAsm - это дело техники, главное чтоб этим занялся кто-то из спецов по разработке элементов...
-----------------------
Ссылки для ознакомления ( это не спам - всё по теме! )
Инфо: http://ru.wikipedia.org/wiki/GLScene
Скачать последнюю версию: http://sourceforge.net/projects/glscene/files/

ЧТО НЕОБХОДИМО HiAsm-у В 3D?

1 - Физика (хотя-бы примитивная)

Возможность задавать различные свойства любому объекту, такие как - вес, хрупкость, эластичность...

1.1
Гравитация на всей сцене

1.2
Гравитация или антигравитация отдельных объектов
( принцип взаимодействия двух магнитов )

1.3
Коллизия (столкновения) между объектами - так чтоб один объект не проникал в другой, а как эффект выталкивание друг друга по расчётам массы (то есть плотности) и эластичности.
Конечно же при расчётах хрупкости - эффект разрушения вместе с траекторией и силой движения обломков...

1.4a
Деформация (эластичность) - то есть если необходимо то чтоб из "шара" (сферы) можно было получить "каплю" или вытянуть в "змейку"...
Тут подойдёт любой простейший редактор моделирования - по координатам и плоскостям, например те что рисуют куб или сферу и т.д.
Главное чтоб эти координаты можно было самому менять ( например передвинуть одну из вершин куба в нужную нам сторону )( или изменить количество вершин/точек )
Если задать возможность менять эти параметры самому приложению - то получится не только полноценное моделирование,
но и интерактивная среда реагирующая на столкновения эффектом деформации.

1.4b
Возможность резать объекты под любым углом! То есть задать кубу точки (как это делает например 3D Max) и отсекая лишнее задать внешний вид объекту...
( например Hammer для CounterStrike позволяет резать объекты под любым углом между точками, но после компиляции ругается сама игра и не запускает карту )


2 - Рендеринг (тоже хотя-бы примитивный)

2.1
Наложение текстур на полигоны (как на весь объект, так и на каждый полигон в отдельности)
Если кто не знает: полигон - это плоская поверхность (например каждая сторона куба - это полигон)

2.2
Сглаживание стыков между полигонами (округление соединений полигонов и гибкость самих полигонов)

2.3
Свет и тени

2.4
Не плохо было-бы изгибать поверхность полигонов по текстуре - например чем темнее участок (значение цвета ближе к нулю) тем глубже вмятина...
(а также задавать значение изгибов по текстуре - например отсутствие деформации и лёгкая деформация или агрессивная / к примеру значение от "0" до "100")

3 - Интеграция объектов/моделей

Уже есть примеры интеграции моделей (даже с анимацией) в программы HiAsm-а, но написано в основном при помощи IC и только для конкретного примера...
Почему-бы не создать для этого элементы как для картинок с разными форматами? ( JPG, BMP, PNG и т.д. )
Особенно была бы полезна интеграция моделей из 3DMax (3ds)
прогоняя модели через конверторы - часто появляются баги и необходимость оптимизации,
а если будет возможность работы с моделями на прямую, то это упростит жизнь всем!)

--------

Если это всё реализовать (заметьте что это совсем не много) то HiAsm поднимется по своим возможностям на ступень с такими гигантами как - С#/C++, Delphe и VisualBasic
Конечно я знаю что это не просто (иначе я сам-бы уже давно это сделал) но жалко что из за отсутствия выше перечисленного приходится тратить больше время и нервов
всё больше отдаляться от HiAsma в сторону Delphi.

Лично у меня есть идея (коммерческая) которую еслиб я реализовал, то гарантирую что в готовом проэкте упоминал бы о том что это создано на основе HiAsma и заработав денег
сказал-бы спасибо в виде чека с несколькими ноликами (в любом случае выгодней и полезней чем тупо налоговая неизвестно на какие нужды отнимет)...

Я не мастер и не разработчик HiAsma которые его знают как свои пять пальцев - потому не вижу смысла прыгать через голову (в смысле разработки элементов).
Я не критик - а вношу свою лепту тем что описал конкретно чего нет и что просто необходимо (думаю даже объяснив почему)


PS:
MAV создал много потрясных примеров (но они так и остаются примерами "одноразовыми")
Повторить его работу для новичков - один в один ещё может у кого-то и получится, но оттолкнуться от этого и создать своё - не реально (проверял с друзьями)

Если создаёте IC - то создавайте не только под ваш конкретный проект - но как элемент и с описанием,
так чтоб с вашим примером могли новички разобраться и экспериментировать...

Иначе в чём смысл? (мериться кто крут я думаю тут неуместно - а для новичков авторитет разработчиков и так бесконечно высок)


И напоследок:
Скачиваешь последнюю версию HiAsm-а и вроде бы всё ок, но как только начинаешь качать примеры, то выясняется что элементов таких нет!
Начинаешь париться разбираться с обновлениями (даже устанавливая совсем левый софт) - и вроде всё! Всё работает кроме тех схем которые работали до обновления! o_0?
Коротко говоря - считаю что если кто-то отошёл от стандарта с левыми компонентами и выложил исходник, то выкладывай и левые инструменты!
И не забудь разъяснить (как чайнику, ведь не все такие умные как ты) что делать с твоими элементами/файлами и для чего они вообще нужны...


Это всё в сокращении, так как если описать всё что хотел - Книга получится...
карма: 1

0