تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 3 اولاول 123 آخرآخر
نمايش نتايج 11 به 20 از 22

نام تاپيک: HDR Rendering در XNA

  1. #11
    در آغاز فعالیت
    تاريخ عضويت
    Mar 2009
    محل سكونت
    ری
    پست ها
    11

    پيش فرض

    وقتی از رندر تاخیری استفاده می کنی ،این رندر تارگتها درست میشن،Diffuse map,Normal,Depth و Specular map ،البته اینا می تونن هرچیز دیگه ای باشن، ولی Light map کلا چیز دیگه ایه، نگاشت نور یا Light map در حقیقت یک تکسچره که طرح نور مورد نظر توشه مثلا وقتی یک پنجره که نور از داخلش داره داخل ساختمونو روشن می کنه در نظر بگیر و فرض کن پنجره یک پرده کرکره داره که نور از اونا رد نمیشه طرحی که نور روی زمین درست میکنه میشه نگاشت نور .

    راستشو بخای من نتونسم Additive Blending رو توی MDX پیدا کنم و ببینم کارش چیه!!!

    ورژن 2008 که کلی ارور میده.تو پوشه ای که sample نصب می کنم Solution2010 هم وجود داره ولی اصلا باز نمی شه.
    برای کامپایل کردن lib و Include های دایرکت ایکس رو به visual studio اضافه کردی؟؟

    Managed DirectX که دیگه ساپورت نمیشه.در ضمن XNA اصلا خودش جایگذینی برای MDX هستش
    بله XNA و SlimDX جایگزین MDX هستند ولی به نظر من هنوز MDX بهتره، در مقایسه با XNA اینکه MDX خیلی به Unmanaged نزدیکتره و اینکه SlimDX اشکالات منطقی توش داره!!!

    حالا چرا فقط برای Xbox بازی بسازن.واسه PC هم میشه ازش استفاده کرد.یعنی اصلا فرقی نداره!کدی که نوشته می شه رو هر دو قابل اجراس.
    اصول کدهای مدیریت شده کند هستن و XNA و MDX و SlimDX از این دسته هستند. اینکه می تونید برای هردو برنامه نویسی کنید بیشتر برای آسانتر شدن کار برنامه نویسان XboX بوده که قبل از تست روی کنسول نتیجشونو ببینن .

    یه سوال:مگه داده های HDR تا چه رنجی تولید می شن که تو کدایی که نوشتن اعداد رو تقسیم یا ضرب در 100 کردن.فرض کن از یه texture نمونه برداری می کنیم.مسلما مقدار برگشتی بین 0 تا 1 هستن.حالا میایم یه سری نورپردازی هم می کنیم.مقدار نور دریافتی هرچقدر هم که زیاد باشه دیگه باعث نمیشه این عدد 0 تا 1 تا 100 هم برسه.من اشتباه گرفتم یا دلیلی داره؟
    تعریف HDR اینه : نسبت بیشترین شدت روشنایی به کمترین شدت روشناییه که این نسبت برای نورهای مرئی برابر 12^10 است که چشم ما فقط میتونه 1000:1 از این نسبت را تشخیص بده وکامپیوتر میتونه 100:1 از این نسبت را نشان دهد بخاطر این باید دقت تقریب بالا باشه بخاطر اینه که از 16F وحتی 32F استفاده میشه. من هم اول فکر می کردم که وقتی از ممیز شناور استفاده می کنم دقت بین 0 تا 1 افزایش پیدا می کنه اما وقتی مقادیر را تغییر دادم فهمیدم که از 0 تا 10 تغییر می کنه!!!!
    مثال HDR Cube map دایرکت رو ببین فرق استفاده از ممیز شناور و استفاده نکردنشو می تونی ببینی.
    Last edited by hossainiir; 06-06-2011 at 22:30.

  2. #12
    داره خودمونی میشه PersianLoverMRB's Avatar
    تاريخ عضويت
    Nov 2010
    پست ها
    114

    پيش فرض

    خب منظور منم از light Map همین بود.مثل دوتا عکس پایین که light map رو با deffuse Map ترکیب کردم نتیجش شده عکس دومی.




    مگه شما نگفتید برای پروژتون از Deffered lighting استفاده می کنید پس بدون Additive Blending چطوری light Map خودتونو ایجاد می کنید؟
    منظورتو از اینکه تو تکسچرهای ممیز شناور دقت از 0 تا 10 تغییر می کنه نگرفتم!
    راستی شما نوشتی نمی دونی کار Additive blending چیه؟منظورم render state که موقع رسم بعضی از particle ها مثل particle های انفجار فعال می کنیم.یعنی رنگی که قرار روی back buffer نوشته بشه اول با محتویات back buffer جمع میشه سپس نوشته می شه.

    Alpha Blending
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Additive Blending
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  3. #13
    در آغاز فعالیت
    تاريخ عضويت
    Mar 2009
    محل سكونت
    ری
    پست ها
    11

    پيش فرض

    ویکی پدیا light map این طوری تعریف کرده :
    "A lightmap is a data structure which contains the brightness of surfaces in 3d graphics applications such as video games. Lightmaps are precomputed and used for static objects."
    اول اینکه عکس هایی که گذاشتی خیلی قشنگن ، اگه کار خودت باشه برای کسی که تقریبا تازه XNA رو شروع کرده خیلی خوبه.

    منظورتو از اینکه تو تکسچرهای ممیز شناور دقت از 0 تا 10 تغییر می کنه نگرفتم!
    منظورم این بود که اول فکر می کردم دقت اعشار اعداد بین 0 تا 1 افزایش پیدا می کنه، بعد فهمیدم که نه رنج تغییرات بیشتر از 1 هم میتونه باشه.
    این تنظیمات من برای رندر کردن نوره:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این هم تصویری از این رندرم:

  4. #14
    داره خودمونی میشه PersianLoverMRB's Avatar
    تاريخ عضويت
    Nov 2010
    پست ها
    114

    پيش فرض

    در مورد عکسا که اره.همون کاریه که دارم می کنم.البته همه ی چیزارو که ادم نمی تونه خودش از صفر شروع کنه!برای مثال من خودم می خواستم یک LOD QuadTree Terrain برای برنامم بسازم که یه sample پیدا کردم از کدای همون استفاده کردم.البته تغییرات زیادی توش دادم برای مثال یه shader برای terrain نوشتم که تا 8 تا تکسچر رو blend می کنه.یا ابزارایی برای تغییر شکل terrain و ابزارایی برای texture map و میزان blend هر قسمت از terrain ایجاد کردم.الانم دارم روی انیمیشن گیاه ها کار می کنم.ولی کارم تو مدلای Instance شده فعلا گیر کرده.

    در مورد تکسچرهای ممیز شناور که فقط تا 10 نیست.برای مثال اگه از Vector4 (همون 32fp) استفاده کنی می تونی تمام اعداد float رو توش ذخیره کنی.
    اون تنظیماتم همون Additive Blending هستش.
    در مورد عکس برنامتم خیلی خوبه!من بیشتر به محیطای outDoor علاقه دارم.با توجه به عکسی که گذاشتی برای مدیریت فضای بازی تو محیطای inDoor کاری کردی؟در مورد هوش مصنوعی چی؟من که اگه بتونم کارمو ادامه بدم بعد از مدتی تازه می خوام برم وارد بحث شیرین فیزیک! البته از یه فیزیک انجین اماده استفاده می کنم.

  5. #15
    داره خودمونی میشه PersianLoverMRB's Avatar
    تاريخ عضويت
    Nov 2010
    پست ها
    114

    پيش فرض

    راستی در مورد کامپایل سمپل ای DX می تونی کمکم کنی.اولش که DX رو ریختم برنامه ها همه ارور می دادن که یه فایل با پسوند header نمی تونن پیدا کنن.مسلما باید مسیر فایلای DX رو بهش می دادم. تو قسمت option -> projects & solution -> VC++ Directories یه چندتا مسیر رو بهش دادم که اینارم تو اینترنت پیدا کردم.اون ارورش حل شد ولی الان اکثر ارورا این شکلیه:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    که جای ... یه type یا یه method هستش.ما هم که c++ بلد نیستیم.
    اگه کمک کنی ممنون می شم.
    راستی تو با C++ می نویسی.مقدار کداش زیاده

  6. #16
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2008
    پست ها
    122

    پيش فرض

    این خطا برای فایل های lib هست. تو همون جا علاوه بر Include directories یه مولفه ی دیگه به اسم Library directories هست، که lib های dx رو باید بهش اضافه کنید. فقط توجه کنید که اگر 32bit کامپایل میگیرید حتما کتابخونه های 32bit استفاده کنید و اگر 64bit کتابخونه های 64bit. سپس تو تو همون پنجره برید قسمت Linker و بعد Input و از اونجا تو مولفه ی Additional Dependencies اسم lib هایی که باید لینک بشند رو بنویسید. اگر از d3d9 استفاده می کنید d3d9.lib و اگر از d3d10 میشه d3d10.lib و ... البته کتابخونه های دیگه ای هم مثل d3dx یا dxgi یا d3dcompiler و ... وجود دارند که هر کدوم رو خواستید می تونید اضافه کنید. البته می تونید مرحله ی آخر رو با کد هم انجام بدید برای مثال:
    #pragma comment(lib, "d3d11.lib")

    Last edited by Armin060; 07-06-2011 at 17:29.

  7. این کاربر از Armin060 بخاطر این مطلب مفید تشکر کرده است


  8. #17
    در آغاز فعالیت
    تاريخ عضويت
    Mar 2009
    محل سكونت
    ری
    پست ها
    11

    پيش فرض

    من XNA زیاد کار نکردم، نمی دونم چقدر سخته ولی پیاده سازی کردن Deferred shading تو directx و ++C یه مقدار سخته و گمونم یه حالت سادش بیشتر از 5000 خط بشه.
    نه اونقدرها هم که فکر می کنید پیچیده و سخت نیست، بیشتر سختی کار روی کدهای شیدرشه و مدیریت کردن اوناست و یک مقدار سختیه دیگه در مفهوم ماتریس هاست.
    من از 800 خط کد شیدرش و تقریبا 2000 خط کد #C نوشتم.

    البته خط های ++C با #C خیلی فرق داره. هر یک خط ++C به اندازه ده پانزده خط #C و حتی بیشتر می تونه سخت باشه. تو ++C خیلی نکات رو باید رعایت کنید و ...
    من با این که یه خط #C برابر ده پانزده خط کد ++C مخالفم، این عدد تقریبا 3 تا 4 برابره...

    خیلی از موضوع دور شدیم.

    در مورد عکس برنامتم خیلی خوبه!من بیشتر به محیطای outDoor علاقه دارم.با توجه به عکسی که گذاشتی برای مدیریت فضای بازی تو محیطای inDoor کاری کردی؟در مورد هوش مصنوعی چی؟
    چندتا نکته:
    1- این برنامه یا بهتر موتور ما به طور همزمان می تونه Indoor و Outdoor باشه، یعنی صحنه میتونه شامل هردو باشه.
    2- برای مدیریت اشیا و فضا در Indoor از الگوریتم Unreal استفاده کردیم، و برای Outdoor از الگوریتم Oct tree استفاده کردیم.
    3- هوش مصنوعی رو برادر من کار کرده و اطلاعات دقیقی ازش ندارم، اکه بخاید بش میگم که درباره هوش مصنوعیش واستون بنویسه.

    من که اگه بتونم کارمو ادامه بدم بعد از مدتی تازه می خوام برم وارد بحث شیرین فیزیک! البته از یه فیزیک انجین اماده استفاده می کنم.
    به نظر من یک شاخه از بازی سازی سازی رو دنبال کنی بهتره، زیاد شاخه به شاخه نشو، این حرف من حاصل سالها تجربست!!!!!
    PersianLoverMRB یه PM بت دادم لطفا جواب بده.

  9. #18
    داره خودمونی میشه PersianLoverMRB's Avatar
    تاريخ عضويت
    Nov 2010
    پست ها
    114

    پيش فرض

    می تونی درباره ی الگوریتم Unreal یه کم توضیح بدی
    درباره هوش مصنوعی هم اگه بگید لطف کردید.
    درباره فیزیک:خوب بالاخره برای ساخت بازی فیزیکم لازمه. اگه می خواستم خودم فیزیک انجین بنویسم اونوقت حرف شما تاحدی درست بود.هر چند که ساخت فیزیک انجین نیاز به اطلاعات خوب درباره ریاضیات داره و برنامه نویسی حرفه ای
    راستی شما تو انجینتون گفتید هر دو محیط indoor و outdoor رو پیاده سازی کردید.برای اجرای هر دوی اینها باید بین octree و اون الگوریتم unreal ارتباطی وجود داشته باشه؟در واقع شما چه طوری یه مدلی رو که هم تو octree هستش و هم تو unreal مدیریت می کنید؟

  10. #19
    در آغاز فعالیت
    تاريخ عضويت
    Mar 2009
    محل سكونت
    ری
    پست ها
    11

    پيش فرض

    می تونی درباره ی الگوریتم Unreal یه کم توضیح بدی
    البته من مسئول کارای گرافیکیم و برادرم هوش مصنوعی و قسمتهای ساختمان داده،
    این الگوریتمو برادرم پیاده سازی کرده، این الگوریتم خیلی پیچیدست، توی گوگل جستجو کنی تئوریاشو میتونی پیدا کنی اما مثال نداره،
    ممکنه یکم توضیحم گنگ باشه ولی سعی خودمو میکنم خوب بنویسم،
    از این الگوریتم برای کاهش تعداد رندرها در فضا و محیطهای بسته با تعداد زیاد در و پنجره استفاده میشه، هر اتاق را بر اساس شکلی که داره با معادلات صفحه محدود تعریف میکنیم و یک ایندکس بش نسبت میدیم، هر اتاق دارای درو پنجرهست که به آنها خروجی میگیم هر خروجی نیز با یک صفحه محدود تعریف میشه .فرض کنید که ناظر در اتاق 0 وایساده و داره از در یا خروجی اتاق 1 رو نگا می کنه اشیایی که در اتاق 1 پشت دیوار هستند و در خط دید ناظر نیستند نباید رندر شوند برای اینکار یک هرم ناقص با اطلاعات مکان ناظر و ابعاد خروجی درست میشه از این هرم ناقص استفده میکنیم تا ببینیم کدام یک از اشیای اتاق در دید ناظر هست تا اونا فقط رندر بشن. این روند درختیه و میتونه تا چندین اتاق اتفاق بیافته.

    راستی شما تو انجینتون گفتید هر دو محیط indoor و outdoor رو پیاده سازی کردید.برای اجرای هر دوی اینها باید بین octree و اون الگوریتم unreal ارتباطی وجود داشته باشه؟در واقع شما چه طوری یه مدلی رو که هم تو octree هستش و هم تو unreal مدیریت می کنید؟
    برای اینکه هردو تکنیک قابل اجرا باشن مجبور شدیم یه سری چیزا رو تعریف کنیم مثلا اینکه فضای Outdoor رو یک اتاق بزرگ فرض کردیم و اسمشو پرتال گذاشتیم و ایندکس پرتال را 1- تعریف می کنیم در پرتال برای رندر کردن از Oct tree استفده می کنیم و بقیه ماجرا همون چیزیه که بالا نوشتم.

    در باره هوشش هم به برادرم میگم وقت کرد براتون بنویسه.

  11. این کاربر از hossainiir بخاطر این مطلب مفید تشکر کرده است


  12. #20
    داره خودمونی میشه PersianLoverMRB's Avatar
    تاريخ عضويت
    Nov 2010
    پست ها
    114

    پيش فرض

    یه همچین چیزی تو ذهنم بود.
    تو XNA یک کلاس به نام cameraFrustum وجود داره که همون هرم دوربینه.حالا شما براساس خروجی های اتاق یک cameraFrustum تولید می کنی یا نه یک نوع کلاس برای این هرم های تولید شده ی خودتون دارید؟
    چون اون چیزی که تو ذهن من بود اینطوری بود: (البته جزئیات و فعلا بیخیال) فرض کنیم ما یک اتاق با دو پنجره داریم.اتاق ها و همچنین پنجره ها یک Oriented Box هستند.اگر box مربوط به اتاق تو دید دوربین بود میاد بر اساس مکان دوربین و طول و عرض پنجره ها یک شئ که خودمون تعریف کردیم تولید می کنه.این شئ تقریبا همون cameraFrustumهستن ولی برای راحت تر شدن محاسبات خودمون یک کلاس جداگونه می نویسیم.در این شئ ساخته شده 6 تا plane وجود داره که همون هرمو می سازند.برای اینکه ببینیم مدلای داخل اتاق با این شئ برخورد دارند می ایم برخورد Sphere مدل رو با این 6 plane محاسبه می کنیم و اگر این Sphereدر پشت یکی از plane ها (رو به داخل هرم) قرار داشت رندرش می کنیم.
    تو XNA برخورد اشیا با plane به 3 صورته : Front,Back,Intersecting منظور منم از پشت plane نوع Intersection یا back هستش.
    کلا یه همچین چیزی تو ذهنم هست ولی حالا تا زمان اجرا کردنش خیلی مونده!

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •