Дата: Вторник, 14 Августа 2012, 08:19 | Сообщение # 1
нашел на одном из забугорных форумов разрабатываемый двиг для пурика, решил поделиться так сказать, может кому-то пригодится. от себя могу сказать что он наверное лучший из всех существующих враперов для пурика, он частенько обновляется, на данный момент версия 31 альфа вышла в начале августа.
описание на англ
— Support for DirectX 9 — You can use many PureBasic commands directly — Parent Kid for Sprite and Mesh available — Sprite engine with rotating and animated sprites — Sprite collision system, now with pixel pixel check — Sprite manipulation commands — mouse, joystick and Force Feedback Support — Support Material — Texturing with Mip Level — Purebasic images to texture system — Animated textures — Different Light — Bump mapping — Access to Mesh Vertex — Mesh Picking — Mesh Animation — Save the Meshes — Collision system — Fog Effect — Integrated particle engine — Gui of PureBasic possible — Texture / pixel / vertex shader support — Simple physics engine — Primitives — Scrolling background — AnimParticle — Transparenz of Meshes — Direct Sound Effects — Write / read pixels on Surface — Other collision detection — Background Scrolling — Multiple Views — 2D Draw functions — fast Surface technologie — BitmapFonts — RenderToTexture functions — integration of many function of the FXLib by Epyx in mp3D (Thanks to the implementation of Epyx). — post processing with shader. — Cullum Frustum — Shadow — expansion of many shader instructions — 187 shaders total — Shadereditor — 2Dto3D and 3Dto2D calculations — Physics expansion by Newton physics — Epyx 3D and vector objects — Some Updates and new demos — New command expansions — 2D Physic with Chipmunk — Tile Engine by Epyx — Tile converter for Tiled MapEditor => http://www.mapeditor.org/ — Some new Games
List of mesh sizes: — Microsoft DirectX (. X, with animation support) — B3D (. B3d) — 3D Studio meshes (.3 ds)
Is available for the following platforms: — Windows 98SE, ME, XP, Vista and Windows 7 (x86 abd x64)
прямую ссылку не дам, а то модераторы еще покарают найти его можно в гугле по запросу «mp3d purebasic» первая ссылка.
пример того что я наговнокодил на нем за пол часа.
; <константы #width = 1024 ; ширина окна #height = 768 ; высота окна ;>
PureBasic — коммерческий компилятор языка программирования, использующего синтаксис BASIC.
Предназначен для создания кроссплатформенных приложений для AmigaOS, Linux, Microsoft Windows, Windows NT и Mac OS X. Разработан компанией Fantaisie Software.
Программы, написанные на PureBasic’е компилируются непосредственно в код процессоров IA-32, m68k и PowerPC, при этом получаются небольшие автономные исполняемые файлы и динамические библиотеки. Если не использовать специфические API операционных систем, один файл исходного кода может быть скомпилирован для всех поддерживаемых OS с небольшими модификациями или вообще без них.
Есть возможность использования библиотек WIN32API и MFC (Windows); SDL (Linux).
Также PureBasic позволяет использовать ассемблерные «включения», так как компилятор — FASM
PureBasic (4.00,4.10 и.т.д.) имеет также Visual Designer, который может помочь в создании окон.
Имеет более 1100 встроенных (многие — кроссплатформенные) команд, вдобавок к этому есть прямой доступ к командам API AmigaOS, Microsoft Windows, Linux или Mac OS X. Детальное описание функций на английском языке можно найти в он-лайн справке http://purearea.net/pb/english/manual/reference/reference.html.
В зависимости от платформы используются разные API: в Windows и Windows NT — DirectX 9.0, для Mac OS и Linux — OpenGL/SDL.
Библиотеки Joystick, Keyboard, Mouse используются для получения информации от различных типов контроллеров — мыши, джойстика, клавиатуры.
Module — плагин для проигрывания файлов с расширением «MOD». Работает через MIDAS.
Sound — библиотека для воспроизведения и загрузки звуков. Команды из SoundPlugin позволяют загружать несколько форматов(по умолчанию, поддерживается WAV, в дистрибутив включена поддержка Ogg Vorbis, а любители написали поддержку MP3 и других форматов.)
Библиотека Sprite & Screen применяется для отображения на экране картинок(Sprites), загрузки их в видеопамять(загрузка возможна как из файла, так и из памяти.), смены видеостраниц, создания некоторых эффектов (AlphaBlending, ShadowSprite), определения пересечения двух картинок.
Sprite3D — работа с текстурированными плоскостями. От обычных спрайтов отличаются возможностью масштабирования, поворота, билинейной фильтрации, использования нескольких видов наложения цветов(Blending). Проработка идёт через подсистемы OpenGL/Direct3D, следовательно, графика аппаратно ускоряется на подходящих видеокартах. Также вполне реально применение этой библиотеки в качестве небольшого трёхмерного движка, поскольку всеми четырьмя вершинами плоскостей можно манипулировать в 3D пространстве.
Следует заметить, что стандартный формат графических изображений — BMP, но при использовании команд из библиотеки ImagePlugin появляется поддержка PNG, JPEG, TGA и TIFF.
В разделе «Sprite & Screen» присутствуют специфические команды:
Они требуют загрузки в память со специальными параметрами, а также не поддерживаются аппаратно седьмой версией DirectX, поэтому, если вы используете версию компилятора младше 4.30, они очень сильно нагружают процессор. Рекомендуется выделять специальный буфер командами StartSpecialFX/StopSpecialFX.
В версии компилятора 4.30 разработчики реализуют работу этих библиотек через DX9. Для устаревших версий компилятора существует подсистема. Скачать её дистрибутив можно на сайте [2]. Главное преимущество — повышенная производительность и полная аппаратная поддержка команд, перечисленных выше.
В PureBasic используется трёхмерный движок OGRE, все встроенные библиотеки предоставляют возможность напрямую обращаться к его функциям. Тем не менее, для работы скомпилированной программы требуется файл «Engine3D.dll», найти который можно в папке «Compilers».
Примеры программ
Следующая строка кода создаст небольшое (3,072 байт) приложение для Microsoft Windows.
Эта программа занимает всего 2 килобайта, но выполниться сможет только в ОС Microsoft Windows.
Следующий пример демонстрирует как создавать окно, добавить в него элементы, создать цикл окна и выполнять простые математические операции. Какие бы значения пользователь не ввел в два поля, справа отображается их сумма. Этот код компилируется в небольшое приложение (15 КБ), которое в зависимости от использованого компилятора, может быть запущено на Windows, Linux, Mac OS X или AmigaOS.
Примечание: для версий компилятора выше 4.2 инструкция CreateGadgetList(WindowID(1)) вызовет предупреждение об отсутствии в ней необходимости.
PureBasic — коммерческий компилятор языка программирования, использующего синтаксис BASIC.
Предназначен для создания кроссплатформенных приложений для AmigaOS, GNU/Linux, Microsoft Windows, Windows NT и Mac OS X. Разработан компанией Fantaisie Software.
Программы, написанные на PureBasic’е компилируются непосредственно в код процессоров IA-32, m68k и PowerPC, при этом получаются небольшие автономные исполняемые файлы и динамические библиотеки. Если не использовать специфические API операционных систем, один файл исходного кода может быть скомпилирован для всех поддерживаемых OS с небольшими модификациями или вообще без них.
Есть возможность использования библиотек WIN32API и MFC (Windows); SDL (GNU/Linux).
Также PureBasic позволяет использовать ассемблерные «включения», так как компилятор — FASM
PureBasic (4.00,4.10 и.т.д.) имеет также Visual Designer, который может помочь в создании окон.
Имеет более 800 встроенных (многие — кроссплатформенные) команд, вдобавок к этому есть прямой доступ к командам API AmigaOS, Microsoft Windows, GNU/Linux или Mac OS X. Детальное описание функций на английском языке можно найти в он-лайн справке http://purearea.net/pb/english/manual/reference/reference.html, а на русском — на странице Purebasic Wiki http://wiki.pbasic.spb.ru/index.php/Мануал_по_PureBasic.
В зависимости от платформы используются разные API: в Windows и Windows NT — DirectX 9.0, для Mac OS и GNU/Linux — OpenGL/SDL.
Библиотеки Joystick, Keyboard, Mouse используются для получения информции от различных типов контроллеров — мыши, джойстика, клавиатуры.
Module — плагин для проигрывания файлов с расширением «MOD». Работает через MIDAS.
Sound — библиотека для воспроизведения и загрузки звуков. Команды из SoundPlugin позволяют загружать несколько форматов(по умолчанию, поддерживается WAV, в дистрибутив включена поддержка Ogg Vorbis, а любители написали поддержку MP3 и других форматов. [1])
Библиотека Sprite & Screen применяется для отображения на экране картинок(Sprites), загрузки их в видеопамять(загрузка возможна как из файла, так и из памяти.), смены видеостраниц, создания некоторых эффектов (AlphaBlending, ShadowSprite), определения пересечения двух картинок.
Sprite3D — работа с текстурированными плоскостями. От обычных спрайтов отличаются возможностью масштабирования, поворота, билинейной фильтрации, использования нескольких видов наложения цветов(Blending). Проработка идёт через подсистемы OpenGL/Direct3D, следовательно, графика аппаратно ускоряется на подходящих видеокартах. Также вполне реально применение этой библиотеки в качестве небольшого трёхмерного движка, поскольку всеми четырьмя вершинами плоскостей можно манипулировать в 3D пространстве.
Следует заметить, что стандартный формат графических изображений — BMP, но при использовании команд из библиотеки ImagePlugin появляется поддержка PNG, JPEG, TGA и TIFF.
В разделе «Sprite & Screen» присутствуют специфические команды:
Они требуют загрузки в память со специальными параметрами, а также не поддерживаются аппаратно седьмой версией DirectX, поэтому, если вы используете версию компилятора младше 4.30, они очень сильно нагружают процессор. Рекомендуется выделять специальный буфер командами StartSpecialFX/StopSpecialFX.
В версии компилятора 4.30 разработчики реализуют работу этих библиотек через DX9. Для устаревших версий компилятора существует подсистема. Скачать её дистрибутив можно на сайте [2]. Главное преимущество — повышенная производительность и полная аппаратная поддержка команд, перечисленных выше.
В PureBasic используется трёхмерный движок OGRE, все встроенные библиотеки предоставляют возможность напрямую обращаться к его функциям. Тем не менее, для работы скомпилированной программы требуется файл «Engine3D.dll», найти который можно в папке «Compilers».(Например, «C:/Program Files/PureBasic/Compilers»)
Примеры программ
Следующая строка кода создаст небольшое (3,072 байт) приложение для Microsoft Windows.
Аналогично, вместо встроенной команды MessageRequester можно использовать MessageBox из WinAPI:
Эта программа занимает всего 2 килобайта, но выполниться сможет только в ОС Microsoft Windows.
Следующий пример демонстрирует как создавать окно, добавить в него элементы, создать цикл окна и выполнять простые математические операции. Какие бы значения пользователь не ввел в два поля, справа отображается их сумма. Этот код компилируется в небольшое приложение (15,360 байт), которое может быть запущено на Microsoft Windows 4.x или Microsoft Windows NT 4.x и новее.
Примечание: для версий компилятора выше 4.2 инструкция CreateGadgetList(WindowID(1)) вызовет предупреждение об отсутствии в ней необходимости.
. Почему начал с пятой главы? Просто эти вещи меня больше всего интересовали на момент желания начать переводить.
Прикрепи пожалуйста к своему сайту, а то обменник недолговечен.
Поделиться221.12.2009 20:16:51
Поделиться321.12.2009 20:20:41
Поделиться421.12.2009 21:16:35
Оперативно
Отредактировано haav (21.12.2009 21:17:08)
Поделиться530.12.2009 20:30:21
Поделиться603.01.2010 16:27:37
Поделиться705.01.2010 15:33:36
Поделиться807.01.2010 21:57:28
Поделиться907.01.2010 22:33:29
Поделиться1006.02.2010 17:14:41
Поделиться1106.02.2010 17:45:12
Поделиться1215.02.2010 16:58:07
Поделиться1315.02.2010 18:24:39
Поделиться1421.02.2010 08:35:29
Похоже приплыл с переводом . Библиотеку OnError переписали. Примеры не работают. Плохо то что я вообще не умею с ней работать. Петр! прошу твоей помощи. Вместо стр. 123-127 написать свой собственный мануал попроще и мы включим его в перевод. Все равно тот устарел. Пока я встрял и дальше двигаться не могу, как кирпичем по голове .
Поделиться1521.02.2010 14:11:15
Примеры я конечно пределаю, а вот насчёт перевода. Попробовал, очень плохо получается.
Поделиться1621.02.2010 14:48:21
Так и не надо переводить, просто объясни свои примеры как сможешь, а я сам попробую решить что еще выдрать из слов автора. Спасибо что помогаешь!
Поделиться1721.02.2010 15:05:19
А там примеры рабочие, по крайней мере в 4.40 компилируются и выполняются правильно. Единственное что отличается, это отсутствие функции GetErrorCounter(), поэтому из примеров нужно убрать строку
На окно предупреждения компилятора не обращай внимания, он компилирует код в режиме совместимости со старой версией библиотеки.
Поделиться1821.02.2010 17:00:07
Че то я не пойму, почему у меня при использования этого кода, при любом нажатии Yes или No программа завершается, то есть эта строка MessageRequester(«STATUS», «The program was allowed to continue running.») не работает:
Поделиться1921.02.2010 17:29:01
Кстати на старой версии 4.02 все работает! Видать это глюки новых версий
Поделиться2021.02.2010 17:35:43
Это они в 4.30 переписали библиотеку OnError. И теперь нельзя продолжить работу проги после ошибки
Поделиться2121.02.2010 19:15:46
Поделиться2221.02.2010 20:21:39
прошу просмотреть материал и при случае подкорректировать, прежде чем выкладывать на сайт
Вроде как всё нормально, правда, монитор загрузки процессора исключили в PB 4.30, но упоминание про него путь будет. http://pure-basic.narod.ru/docs/books/8.htm
Поделиться2302.03.2010 11:32:13
Вопрос по компиляции консоли:
В чем разница когда компилишь код для консоли
1) как windows приложение 2) как консольное приложение
Я увидел незначительное различие в расходовании памяти. В книге не уловил смысла. Там что то говорится о неправильной работе приложения,если его компилить как windows приложение. Но как объяснить это в переводе?
Отредактировано haav (02.03.2010 11:32:47)
Поделиться2402.03.2010 13:08:35
Всегда компилил консольные проги как Windows приложения и никаких глюков не замечал.
Вот что в справке написанно
Executable format This allows you to specify the created executable format: Windows : a normal windows executable. Console : an executable with a default console. This one still can create windows and such, but it always has a console open. When executed from a command prompt, this executable type uses the command terminal as its console and writes there, whereas the «Windows» executable would create a separate Console window when using OpenConsole(). This setting must be used to create a Console application that can have its input/output redirected with pipes. Shared DLL : create a windows dll. See Building a dll for more info. Note: When you do «Compile/Run» with a dll source code, it is executed as a normal executable. A dll is only created when you use «create executable».