هل سيكون من الممكن إضافة دعم لإنشاء ملف الرأس فقط لـ GLAD؟ أعني ، على غرار مكتبات stb .
سيكون من المفيد جدًا أن تسقط glad.h في المشروع وتجنب تعديل خط الأنابيب.
ها هي عينة أعمل عليها ؛ لقد أنشأت ملف الرأس GLAD بنفسي فقط يدويًا.
أعتقد أن هذه فكرة رائعة. لا أريد حقًا وضع الملفات السعيدة مع بقية الكود الخاص بي ، لكن البديل في الوقت الحالي هو مجرد صبي معقد للغاية.
أعتقد أن البساطة هي إحدى ميزات السعادة التي تجعلها تقف فوق الراحة (مثل GLEW). إن وجود ملف رأس فقط للاستيراد سيجعله أكثر بساطة وأفضل.
ومع ذلك ، أتخيل أن تجميع الملف بأكمله @ raysan5 قد يستغرق بعض الوقت ، خاصةً إذا تم تضمينه في عدة ملفات. في كثير من الأحيان ، أريد فقط مثل GLuint المعلن لملف الرأس الخاص بي. ربما يكون glad_types.h
مجانيًا جيدًا. أنا شخصياً لست قلقًا بشأن العديد من الملفات ، ولكن بدلاً من ذلك ، ملفات .c
.
مرحبًا Shimmen ، أنا أستخدم إصدار OpenGL 3.3 للملف الشخصي الأساسي ، في الأصل ، glad.h
كان بالفعل ~ 14K LoC و glad.c
كان ~ 7.6K LoC. بمجرد التوحيد ، يصبح glad.h
LoC تقريبًا ويستغرق وقت التجميع باستخدام GCC 4.7.2 حوالي 2-3 ثوانٍ في محطة عمل التطوير الخاصة بي.
أفكر في تقديم طلب سحب. هل تريد أن يكون خيارًا أن يكون لديك ملف رأس فقط وهل يجب أن يكون خيارًا افتراضيًا؟
مرحبًا ، هذا رائع!
ما زلت أفكر فيما إذا كان هذا الخيار منطقيًا ، كما أشرنا سابقًا ، سيكون ملف الرأس كبيرًا حقًا وسيبطئ عملية التجميع قليلاً. ولست متأكدًا أيضًا مما إذا كان تقسيم الرأس إلى ملفات رأس متعددة فكرة جيدة.
ثم مرة أخرى ، ربما لا يضر وجود الخيار ، فلن يكون خيار الرأس فقط هو الخيار الافتراضي.
لقد استخدمت أداة الويب لتحديد الامتدادات التي أحتاجها (OpenGL 3.3 Core الأساسي) ثم قمت بإنشاء ملف رأس فقط ؛ كان حول 5K LoC ويتم تجميعه بالمللي ثانية (أي تأخير غير ملحوظ).
فقط تنبيه ، يدعم فرع glad2 خيار الرأس فقط الآن!
python -m glad --out-path=build --api="gl:core=" --extensions= c --header-only
المعالجات الحديثة سريعة جدًا ، لذا عندما لا يتم تعريف GLAD_IMPLEMENTATION
لن يكون هناك أي تأثير فعلي على الأداء.
إضافة عظيمة @ Dav1dde! شكرا جزيلا لالتحديث! :)
هل هناك أي أخبار عن موعد وصول هذه الوظيفة إلى موقع الويب أم سيكون ذلك عندما يتم إطلاق الإصدار 2 رسميًا؟ شكرا!
ليس لدي ETA.
إذا كنت تريد التلاعب بها ، فيجب أن ينتج فرع glad2 C-Code عاملاً. تم تغيير واجهة برمجة التطبيقات قليلاً: gladLoadGL
هي الطريقة الوحيدة لتحميل سياق GL وتتطلب دائمًا تمرير وظيفة محمل.
كنت آمل أن نتمكن من الحصول على تحديث للحالة حول الوقت الذي قد يصل فيه ذلك إلى موقع الويب. أنا أحب خدمة الويب! أظن هذا رائعا! دعم الرأس فقط سيجعله مثاليًا. شكرا!
http://glad2.dav1d.de يستضيف حاليًا فرع glad2 ، وهو وظيفي ولكن بدون واجهة برمجة تطبيقات ثابتة. لا يدعم glad2 الرأس فقط. إذا وجدت أخطاء ، يسعدني إصلاحها.
أعتقد أنني وجدت بعض المشكلات مع هذا:
__glad_gl_h_
في نهاية الملف ، وليس فقط بعد الجزء glad.hinline
وإلا فإنك تكسر ODR ، أي لا يمكن تضمينها أكثر من مرةشكرًا ، نعم ، لا يزال العنوان يحتاج فقط إلى بعض التحسينات.
أشارنيelmindreda إلى (فقط حتى لا أنسى): https://github.com/nothings/stb/blob/master/docs/stb_howto.txt#L9
يعمل في glad2.
التعليق الأكثر فائدة
فقط تنبيه ، يدعم فرع glad2 خيار الرأس فقط الآن!
python -m glad --out-path=build --api="gl:core=" --extensions= c --header-only