سايهزنهاي متحد و هندسي در DirectX 10
با وجود اينكه سايهزنهاي متحد در نتيجه تغيير APIگرافيكي از DirectX 9 به DirectX 10 ايجاد شدهاند اما جزو ملزومات DirectX 10 به شمار نميروند. در حالي كه DirectX 9 براي پردازندههاي راسي و پيكسلي داخل GPU دقتهاي متفاوتي در نظر گرفته بود، اما DirectX 10 دقت پردازشي تمامي سايهزنها را 32 بيت مميزشناور، لازم دانسته است لذا بهرهگيري از معماري سايهزنهاي متحد به دليل شباهت سايهزنها سادهتر از قبل شده است.
با مجموعه واحدي از پردازندههاي مميز شناور 32 بيتي هم اكنون ميتوان برنامههاي پيكسلي، راسي و هندسي را اجرا كرد و ديگر نيازي به تفكيك سايهزنها وجود ندارد. همانطور كه در تصوير شماره 1 ملاحظه ميكنيد با استفاده از معماري سايهزنهاي متحد امكان بهرهبرداري كارآمد تر از سختافزار گرافيكي فراهم شده است.

تصوير شماره 1 مقايسه معماري سايهزنهاي متحد با معماري پيشين GPUها
در معماري پيشين، پردازندههاي راسي و پيكسلي از يكديگر تفكيك شده بودند، هنگام رندر كردن يك تصوير هندسي پيچيده، بار كاري پردازندههاي راسي به شدت افزايش مييافت در حالي كه پردازندههاي پيكسلي، در حالت ideal قرار داشتند، اين امر توسعهدهندگان را به اين فكر انداخت كه با ادغام اين پردازندهها بتوانند از توان پردازش آنها به صورت توام استفاده كرد.
مايكروسافت در DirectX 10 يك مرحله سايه زن جديد را به خط لوله هاي گرافيكي اضافه كرده است. اين مرحله كه سايه زن هندسي (Geometric Shader) نام دارد واحد جديدي است ميان سايه زن راس (Vertex Shader) و سايه زن پيكسل (Pixel Shader).
يك سايه زن راسي تنها قادر به دريافت يك ورودي برداري است كه حاوي اطلاعات لازم جهت توصيف يك راس از شكل سهبعدي ميباشد و ميتواند تنها يك خروجي را ايجاد كند. توليد و يا حذف چندضلعيهايي كه شكلنهايي را تشكيل ميدهند و هر يك از چندين راس تشكيل شده اند براي سايه زن راس غير ممكن است. سايه زن هندسي به نرم افزار اجازه ميدهد تا به تمامي مختصات هندسي قبلي، خطوط، مثلث ها و نقاط در واحد هاي مجاور هم دسترسي داشته و تصوير نهايي را با استفاده از چندضلعيها ترسيم كند. اين سايه زن قادر است تا تغييراتي را در قطعات پيشين اعمال كرده و مثلث ها و نقاط جديدي را قبل از ارسال اشياي مختلف صحنه به سايه زن پيكسل به آنها اضافه يا حذف نمايد. علاوه بر اين سايه زن هندسي قادر است تا نتايج محاسباتي را مستقيما به حافظه ارسال نموده و به آنها اجازه دهد تا در صورت نياز بدون دخالت CPU به جريان پردازش بازگردند. اين تغييرات اجازه خواهد داد تا جلوههايي مانند ذرات، دود و يا انفجارها كه هميشه توسط CPU شبيه سازي ميشدند توسط پردازنده گرافيكي پردازش شوند.
بنابر اين سايهزنهاي متحد به خدمت گرفته شده در R600 و G80 سه نوع عمليات پردازشي زير را انجام ميدهند :
1. عمليات پردازش راسي بر روي راسها
2. عمليات پردازش هندسي بر روي Primitiveها
3. عمليات پردازش پيكسلي بر روي پيكسلهاي خام (Fragment)
Primitive ها اشكال هندسي پايهاي هستند كه در ترسيم يك شكل سهبعدي به كار گرفته ميشوند مانند مثلث يا چندضلعيها.
هرآنچه كه مايكروسافت در DirectX 10 در رابطه با سايهزنها پيشنهاد داده است با استاندارد Shader Model 4.0 شناخته ميشود، مدل چهارم سايهزنها با پيشينيان خود تفاوتهاي مهمي دارد كه در جدول تصوير شماره 2 نشان داده شده است، بهبودهاي ايجاد شده در SM 4.0 موجب شده برنامههاي سايهزن بهتر و انعطاف پذيرتر از گذشته گردند.

تصوير شماره 2 مقايسه ويژگيهاي DirectX 10 با اسلافش