سؤال

ولدي تطبيق بسيط الذي أحتاج إلى السماح للمستخدم اختيار تظليل (.fx HLSL أو تجميع ملف، ربما مع ممرات متعددة، ولكن كل وتظليل بكسل فقط) ومعاينته.

وتشغيل التطبيق، وقائمة تظليل تأتي، وزر تطلق "نافذة المعاينة". من هذه النافذة المعاينة (التي لديها منفذ العرض DirectX في ذلك)، يقوم المستخدم بتحديد صورة وتشغيل تظليل على تلك الصورة وعرضها. واحد فقط احتياجات إطار المقدمة (وليس في الوقت الحقيقي).

ولدي / بكسل مزيج تظليل قمة الرأس انشاء أن يأخذ رباعية ويجعلها على الشاشة، محكم مع الصورة المختارة. هذا يعمل تماما. أحتاج ثم تشغيل تأثير آخر، محض تظليل بكسل، على الإخراج من الأثر الأول، وعرض الصورة النهائية (بعد معالجتها) إلى الشاشة. هذا لا يعمل على الإطلاق.

ولقد حاولت خلال الأيام القليلة الماضية للحصول على عمل، ولكن دون سبب واضح، ورمز لبنات مماثلة تستخدم لتقديم كل أثر سوى تقديم الأول. ويمكنني أن أضيف ملف تظليل الثاني كما تمريرة الثاني في ملف تظليل الأول وتشغيله تماما (على الرغم من الهزائم تماما هدفي من معاينة تظليل إنشاء المستخدم). عندما أحاول استخدام التأثير الثاني (الذي يحمل ويجمع ما يرام)، فإنه لا يفعل شيئا. لقد اتخذت نتائج تظليل الأول (مع GetRenderTargetData) ووضعتها في الملمس والسطح (destTex وdestSur)، ثم تعيين هذا الملمس كإدخال للمسار الثاني (باستخدام dev-> SetTexture وفي وقت لاحق effect-> SetTexture ( "thisframe"، destTex)).

جميع المكالمات تنجح، والآثار وتجميع، والقوام الحمل، يتم رسمها الكواد، ولكن النتيجة غير مرئية. كنت أظن في البداية الجهاز (تم إنشاؤه مع برامج معالجة قمة الرأس) والتي تسبب المشكلة، ولكن هذا لا يبدو أن هذا هو الحال (حاولت مع الأجهزة والمختلط). بالإضافة إلى ذلك، باستخدام كل من HAL وجهاز المرجع (ليست مشكلة، لأن التطبيق لا في الوقت الحقيقي على أي حال)، أن تظليل الثاني غير مرئية. كل ما هو مكتوب في C ++ لDirect3D 9.

هل كانت مفيدة؟

المحلول

وحاول مسح المخزن المؤقت عمق الاستنسل بعد كل مرة تقوم فيها تقديم رباعية.

نصائح أخرى

إنشاء أول الملمس، ثم تقدم تظليل الأول مباشرة إلى أن الملمس. وأخيرا تقديم تظليل الثاني مع نسيج كمدخل إلى Backbuffer.

ويجب أن يكون هناك نوع من المدخلات قمة الرأس وتجهيز قنة (إما ثابتة وظيفة أو تظليل) من أجل تظليل بكسل ليتم تشغيلها. هل أنت تزويد تظليل قمة الرأس، وإذا كان الأمر كذلك هل أنت متأكد من أنه يفعل ما يتوقع تظليل بكسل؟ ماذا استدعاء الرسم الخاص بك تبدو وكأنها؟

وانها ربما يستحق النظر في أثر PIX تطبيقك لنرى ما هي حالة الجهاز وعندما تحاول استخدام تأثير المستخدم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top