mini3d
لا يحتوي البرنامج التعليمي لتقديم البرامج ثلاثية الأبعاد على أي تحسين للأداء ، ويشرح بشكل أساسي للأشخاص كيفية كتابة عارض برامج خطوط أنابيب ثابت. على الرغم من أن الكود الرئيسي هو 700 سطر فقط ، إلا أن العصفور صغير وله جميع الأعضاء الداخلية.
【readme باللغة الإنجليزية】
خاصية
- ملف واحد: يحتوي الرمز المصدر على mini3d.c واحد فقط ، وملف واحد ينفذ كل شيء ويسهل قراءته.
- التجميع المستقل: لا توجد تبعيات لمكتبة الطرف الثالث ، لا توجد أدلة هندسية معقدة.
- المعيار النموذج: نموذج إحداثيات D3D القياسية ، النظام الأيسر بالإضافة إلى العالم / العرض / الإسقاط ثلاثة مصفوفة
- تنفيذ المحاصيل: CVV Crovping
- دعم الملمس: أقصى دعم لـ 1024 × 1024 قوام
- ذاكرة التخزين المؤقت العمق: استخدم ذاكرة التخزين المؤقت للعمق لتحديد الصورة قبل وبعد
- خريطة المنظور: تعيين نسيج المنظور وملء لون المنظور
- الحوس
- تنفيذ التنفيذ: يحتوي محرك التقديم على 700 صف فقط ، والوحدات النمطية واضحة ، والعمود الفقري بارز.
- تعليقات مفصلة: تعليقات مفصلة على الرمز الرئيسي
التجميع
- Mingw: GCC -o3 mini3d.c -o mini3d.exe -lgdi32
- MSVC: CL -O2 -NOLOGO MINI3D.C
- الإصدار المترجم: https://github.com/skywind3000/mini3d/releases
العرض التوضيحي
ملء الملمس: Render_state_texture
ملء اللون: Render_state_color
رسم سلكية: Render_state_wireframe
زيادة الإضاءة والاستيفاء الخطي التربيعي (لقطة شاشة لتأثير الإضاءة يضاف إليها صديق إلى Mini3D)
الواجبات المنزلية الأساسية
- أضف إزالة الظهر
- أضف ضوء بسيط
- توفير المزيد من أوضاع التقديم
- تنفيذ قراءة الملمس للفرق الخطي التربيعي
الواجبات المنزلية المتقدمة
- استنتاج وإثبات جميع المعرفة الهندسية المستخدمة في البرنامج
- تحسين أداء الحوسبة Vertex
- تحسين أداء draw_scanline
- تحميل الملمس من ملف BMP/TGA
- قم بتحميل سيناريو BSP وتنفيذ التجوال
تفسير مبدأ
- Wei Yixiao: كيف تحصل OpenGL و DirectX على مواقع البكسل عندما تكون القمم فقط معروفة؟
- Wei Yixiao: كيف يصل الكمبيوتر إلى بطاقة الرسومات؟
المشاريع ذات الصلة
- RenderHelp: تطبيق آخر مبسط عارض ناعم يدعم خطوط أنابيب تقديم قابلة للبرمجة ، راجع المقدمة للحصول على التفاصيل.
التبرعات مرحب بها
تبرعك هو أعظم تأكيد لهذا البرنامج التعليمي. سيتم استخدام التبرع لتحسين توثيق التعليمي والأساطير ، وكذلك مساعدتي في كتابة دروس أكثر إثارة للاهتمام.
مرحبًا بك في متابعة
المدونة: https://skywind.me/blog
Zhihu: https://www.zhihu.com/people/skywind3000