برمجة ال shader باستخدام ال CG الدرس الثامن

stencil هي ذاكرة تساعدك في عمل mask  للبكسل نتيجته ام انه يرسمه او يعمل discard له .
ذاكرة stencil في الغالب يوفر لكل بكسل هناك ٨ بتات تحتفظ بقيمة رقمية بحيث تستخدمها عمليات الرسم اللاحقة في المقارنة وتحديد ما اذا كان سوف يتم رسمه او لا . لقراءة المزيد … “برمجة ال shader باستخدام ال CG الدرس الثامن”

برمجة ال shader باستخدام ال CG الدرس الخامس

في نهاية الدرس الأول من دروس ال cg كتبنا الكود التالي

float4 vert(float4 pos:POSITION):SV_POSITION
{
	return mul(UNITY_MATRIX_MVP,pos);
}

fixed4 frag(void):COLOR
{
	return fixed4(1,1,1,1);
}

موضوعنا في هذا الدرس يتمحور حول سطر واحد

mul(UNITY_MATRIX_MVP,pos);

حيث قمنا بنقل احداثيات ال vertex من local الى احداثيات ال viewport , وهي في الحقيقة مجموعة مصفوفات نضربها في ال vertex . لقراءة المزيد … “برمجة ال shader باستخدام ال CG الدرس الخامس”

برمجة ال shader باستخدام ال CG الدرس الرابع

في هذه المقالة سوف نتعرف على اهم عملية على ال vertices وهو استخدام مصفوفة ال transforming مع النقاط والمتجهات ومتجهات ال normal .
بالنسبة لكل كائن هناك مصفوفتان تساعدانه في حساب نقاطه ومتجهاته الاولى local to world وهي المصفوفة التي ضربناها بنقاطه ليصل للمكان الذي هو حاليا فيه وفي حال كان هناك local داخل local فانك تبدا بضرب المصفوفات بالنقطة من اصغر local الى ان تصل الى ال world ,  والثانية world to local وهي المعكوس الضربي للمصوفة local to world . لقراءة المزيد … “برمجة ال shader باستخدام ال CG الدرس الرابع”

برمجة ال shader باستخدام ال CG الدرس الثالث

انواع المتغيرات

float - a 32bit floating point number
half - a 16bit floating point number
int - a 32bit integer
fixed - a 12bit fixed point number
bool - a boolean variable
sampler* - represent a texture object sampler2D sampler1D sampler3D

يمكنك استخدام جميع هذه الانواع ك vectors او matrix باستثناء *sampler لقراءة المزيد … “برمجة ال shader باستخدام ال CG الدرس الثالث”