Pasvulkan
مولد رأس Vulkan ولفاء واجهة برمجة تطبيقات على غرار OOP Vulkan OOP للكائن Pascal (Freepascal> = 3.3.1 FPC Trunk وأي إصدار دلفي الحالي الحالي)
وحدة رأس الربط Vulkan.Pas نفسها (بما في ذلك محول VKXML2PAS.DPR) وتبقى أيضًا متوافقة مع إصدار Delphi 7 القديم ، لكن Pasvulkan.*. إصدار المترجم ليس له أي دعم ل.
دعمني
دعمني في باتريون
عني / تفاصيل الاتصال الخاصة بي
- موقع الويب الخاص بي
- مدونتي
- حساب تويتر الخاص بي
- حسابي فيسبوك
معلومات الخروج المستودع الهامة
إذا كانت لديك مشاكل مع أمر GIT Clone ، لأن المستودع كبير جدًا بالنسبة لك أو لا تحتاج إلى تاريخ كامل للمستودع ، يمكنك محاولة استخدام الأمر التالي بدلاً من ذلك:
git clone --single-branch --depth 1 --recursive https://github.com/BeRo1985/pasvulkan.git pasvulkan
أو على التوالي لمتغير SSH:
git clone --single-branch --depth 1 --recursive [email protected]:BeRo1985/pasvulkan.git pasvulkan
أو بدلاً من ذلك ، يمكنك محاولة إيقاف تشغيل الضغط ، والذي يمكن أن يساعد أيضًا في بعض الحالات ، ولكنه على دراية ، إنه إعداد عالمي لجميع مستودعات GIT على نظامك:
git config --global core.compression 0
معلومات مهمة
يجب عليك أولاً تجميع مدير مشروع Pasvulkan (غير مكتمل) باستخدام CompiLeprojectManager (*NIX) أو compileProjectManager.bat (Windows) بحيث يمكنك بعد ذلك استخدام Pasvulkan Project Manager كأداة سطر أوامر تسمى ProjectManager (.EXE).
وتحتاج إما إلى أحدث إصدار من Delphi أو أحدث إصدار من Trunk SVN من برنامج التحويل البرمجي Freepascal (وليس فقط الإصدار المستقر من برنامج التحويل البرمجي Freepascal) ، بما في ذلك المسارات الصحيحة في متغير بيئة المسار إلى ثنائيات المترجم هذه. وإذا كنت ترغب أيضًا في استخدام هدف Android ، فإن الأمر نفسه ينطبق على Android Studio ، و Java SDK ، و Android SDK و Android NDK ، والتي يجب تثبيتها في مواقعها الافتراضية (كما تحدد Google هذه المواقع الافتراضية هذه ، دون استثناءات) ويجب أن تكون موجودة بشكل صحيح في متغيرات بيئة النظام.
وبالنسبة لهدف Android ، تحتاج إلى جميع عمليات تثبيت برنامج التحويل البرمجي عبر Freepascal للجميع من أهداف وحدة المعالجة المركزية الرسمية الرسمية من Android دون أي استثناء ، وهذه هي: x86_32/i386 ، x86_64/amd64 ، arm32 و Aarch64/ARM64
كيفية بناء وتشغيل مشروع المثال
بعد أن قمت بتجميع ProjectManager Binary ، تحتاج إلى القيام بما يلي:
| خطوة | النوافذ | *نيكس | وصف |
|---|
| 1. | projectmanager compileassets examples | ./projectmanager compileassets examples | يجمع ملفات الأصول |
| 2. | projectmanager build examples | ./projectmanager build examples | يجمع رمز المثال نفسه |
| 3. | projectmanager run examples | ./projectmanager run examples | يبدأ المثال الثنائي |
كيفية إنشاء مشروع جديد
بعد أن قمت بتجميع ProjectManager Binary ، تحتاج إلى القيام بما يلي:
| خطوة | النوافذ | *نيكس | وصف |
|---|
| 1. | projectmanager create [yourprojectname] | ./projectmanager create [yourprojectname] | يخلق المشروع الجديد |
هام: حيث يجب أن يكون اسم المشروع معرفًا صغيرًا للباسكال وجافا وحتى اسم ملف صالح في نفس الوقت!
لمزيد من المعلومات حول مدير المشروع
بعد أن قمت بتجميع ProjectManager Binary ، ما عليك سوى تنفيذ projectmanager -h في قشرة أو وحدة تحكم للحصول على مساعدة مفصلة.
سمات
- C-API-Style Vulkan Header (Vulkan.PAs الذي تم إنشاؤه بواسطة VKXML2PAS.DPR)
- إنه محدث دائمًا ، نظرًا لأنه يتم إنشاؤه تلقائيًا من خلال VKXML2PAS.DPR
- المنصات المدعومة:
- Windows (x86-32 ، x86-64)
- Android (x86-32 ، x86-64 ، ARM32 ، ARM64/AARCH64)
- Linux (x86-32 ، x86-64 ، ARM)
- غلاف Moltenvk (لم يخبر)
- إطار Vulkan المستند إلى OOP (pasvulkan.framework.pas)
- الكائن الموجهة نحو واجهة برمجة تطبيقات Vulkan API
- من الأفضل أن يكون مدير الذاكرة في شركة Red-Tree القائمة على الشجرة الحمراء لإدارة الذاكرة Vulkan ، لإدارة التخصيص الفرعي في المخازن المؤقتة المخصصة وللحفاظ على إجمالي التخصيصات المباشرة في وقت واحد قدر الإمكان وأقل من tvkphysicaldevicelimits.maxmoryAllocationCount.
- لوادر الملمس مع تطبيقات المحمل الأصلية ObjectPascal ، لذلك فهي مستقلة عن لوادر الصور الخارجية الخارجية ، حتى مستقلة عن VCL و LCL و FCL.
- BMP (لم يتم اختباره ، ولكن يجب أن يعمل)
- DDS
- HDR
- KTX
- JPG / JPEG (خط الأساس فقط ، فقط هوفمان مشفرة و YCRCB فقط في الوقت الحالي)
- PNG (جميع الأنواع ، بما في ذلك PNGs القنوات 16 بت)
- TGA
- ميزات سلسلة لقطة شاشة لقطات API لقطات الشاشة
- بما في ذلك تنفيذ كاتب PNG الأصلي ObjectPascal (بما في ذلك الحد الأدنى من الثابتة الثابتة فقط تنفيذ التنفيذ)
- بما في ذلك تنفيذ كاتب JPEG ObjectPascal-native
- توليد MIPMAP التلقائي التلقائي القائم على GPU (بمساعدة VKCMDBLITIMAGE)
- Open OpenPascal-native truetype/opentype font loader تطبيق
- مع دعم خط Postscript النكهة التجريبية (CFF Type 2)
- من خلال فترات رمز بايت ، فورت فونتيباي ، فإن خطوط البايت المترجم لخط الفطائر.
- من خلال توليد حقل المسافة الموقّع التلقائي عالي الجودة على الجودة (استنادًا إلى أفكار التنفيذ من توليد مجال المسافة التحليلي الموقعة من 2D ومع PASMP)
- يتم أيضًا التخطيط أيضًا لميزة قوام ناقلات الخطوط في المستقبل ، من أجل تطبيق تقنية الخطوط الهجينة المتوقيع الموقّع الموقّع الخاص به ، بشكل عام ، على حد تعتمد على حجم الخط الأول ، حيث تكون قنوات RGB للبيانات التالية) Bezier) ، وقناة Alpha من Texel ستكون مجرد حقل المسافة الموقعة 8 بت.
- فئة دفعة العفريت
- أطلس العفريت
- من خلال إنشاءات الأطلالات السريعة الآلية على الأضرة مع زراعة/تقليص تلقائي اختياري ، بحيث لا تحتاج
- والمزيد من الأدوات والأشياء المفيدة لبرمجة الفلكان
- المنصات المدعومة:
- Windows (x86-32 ، x86-64)
- Android (x86-32 ، x86-64 ، ARM32 ، ARM64/AARCH64)
- Linux (x86-32 ، x86-64 ، ARM)
- غلاف Moltenvk (لم يخبر)
- إطار تطبيق OOP على طراز Vulkan المحسّن (pasvulkan.application.pas pasvulkan.android.pas pasvulkan.sdl2.pas pasvulkan.starticlinking.pas)
- التصميم العام لإطار التطبيق المحسّن في فولكان هو الخليط بين مفاهيم تصميم VCL/LCL/FCL و LIBGDX (وبعض أفكار التصميم الخاصة بي ، بالطبع).
- يستخدم SDL 2.x مثل API طبقة التجريد OS-API
- الرياح الواحدة فقط ، لذلك فهي صديقة للمنظمة إلى الحد الأقصى ، بقدر ما هو ممكن.
- بالنسبة للتطبيقات متعددة النوافذ ، يجب عليك القيام بأشياء خاصة بك (على سبيل المثال ، إطار عمل خاص أو باستخدام VCL/LCL وما إلى ذلك) ، لأنه خارج عن أهداف إطار التطبيق المحسّن في فولكان هذا
- الاسترداد التلقائي لـ:
- vk_error_surface_lost_khr
- vk_error_out_of_date_khr
- vk_suboptimal_khr
- ولكن ليس ، على سبيل المثال ، vk_error_device_lost ، vk_error_out_of_device_memory أو vk_error_out_of_host_memory ، لأن هذه المواقف الحرجة ، والتي يجب عليك التعامل معها.
- إنشاء سلسلة المبادلة التلقائية والترفيه
- إعادة تجهيزات SDL2 ، للحالة المستقبلية المحتملة ، عندما لا يكون إطار التطبيق المحسّن من Vulkan هذا SDL 2.0 استنادًا إلى منصات مستهدفة أخرى متابعة ، لن يكون مفتاح Nintendo على سبيل المثال ، أو عندما يكون إطار التطبيق المحسّن في Vulkan هذا مزيد من SDL 2.0 على أساس بعض المنصات المستهدفة المدعومة بالفعل.
- المنصات المدعومة:
- Windows (x86-32 ، x86-64)
- Android (x86-32 ، x86-64 ، ARM32 ، ARM64/AARCH64)
- Linux (x86-32 ، x86-64 ، ARM)
- لكن لا يوجد moltenvk حتى الآن (لأن SDL 2.x ليس له أي دعم لها حتى الآن ، حتى الآن أعرف)
ترخيص (Zlib)
Copyright (C) 2016-2017, Benjamin Rosseaux ([email protected])
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgement in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
إرشادات عامة للمساهمين في الكود
- تأكد من أنه يُسمح لك قانونًا بتقديم مساهمة بموجب ترخيص ZLIB.
- يذهب رأس ترخيص ZLIB في الجزء العلوي من كل ملف مصدر ، مع إشعار حقوق الطبع والنشر المناسب.
- لا يمكن استخدام غلاف Pasvulkan هذا إلا مع رأس Pasvulkan-own Vulkan Pascal.
- بعد طلب سحب ، تحقق من حالة طلب السحب الخاص بك على https://github.com/bero1985/pasvulkan
- اكتب رمزًا متوافقًا مع Delphi> = 2009 و Freepascal> = 3.1.1
- لا تستخدم مكتبات/وحدات Delphi-only فقط أو Freepascal only أو Lazarus فقط ، ولكن إذا ل
- لا يوجد استخدام لمكتبات/وحدات من طرف ثالث قدر الإمكان ، ولكن إذا ل
- حاول استخدام Const عندما يكون ذلك ممكنًا.
- تأكد من التعليق على Writeln ، يستخدم أثناء تصحيح الأخطاء.
- تأكد من تجميع الكود على منصات 32 بت و 64 بت (x86-32 ، x86-64 ، ARM ، ARM64 ، إلخ).
- تأكد من أن الكود يعمل على جميع الأنظمة الأساسية بدعم من فولكان
عرض مقاطع الفيديو
للحصول على أكثر مقاطع فيديو عرضية ، شاهد قائمة تشغيل YouTube
Pasvulkan على Android 7.0 على جهاز لوحي Nvidia Shield K1
Pasvulkan على Nvidia Geforce GTX 970 تحت Windows 10 Pro