Saturday, September 29, 2018
Thursday, November 22, 2012
Monday, October 8, 2012
Thursday, August 26, 2010
Thursday, April 29, 2010
Шугаман зарчим
Хүний нүд харанхуй бараан хэсгийн ялгааг гэрэлтэй тод хэсгээс харьцангуй илүү мэдэрдэг гэдгийг бид мэддэг болсон. Тэгэхээр дэлгэц энэ онцлогийг харгалзан зурганд гамма хувиргалт хийж гэрэлтэлтийг шугаман бус зарчмаар харуулах үүрэгтэй. Шугаман алгебрын зарчмаар дэлгэцнээс ялгарах гэрэлтүүлэлтийн хэмжээг 255 хуваахад 128 гэсэн индекстэй гэрэлтүүлэлт яг 50% -ийн саарал өнгөтэй байх ёстой. Харин шугаман бус аргыг хэрэглэснээр 186 гэсэн индексд харгалзах утга дээрхи 50%-ийг илэрхийлнэ.
Монитор ийм хөрвүүлэлт хийдэг учраас гамма тохиргоог авч байж зурагтай ажиллах нь гарцаагүй. 3D програм дээр ажиллахад зарим нэг бэрхшээл тулгардаг. Рэндэр нь бүх боловсруулалтаа шугаман аргаар гүйцэтгэдэг. Өөрөөр хэлбэл 2+2 гэсэн илэрхийлэл нь 4 гэсэн абсолют ганц хариутай. Рендер нь материалд холбосон текстур зурганд шугаман бус хөрвүүлэлт хийгдээгүй гэж үзээд тооцоогоо хийдэг.
Өөрөөр хэлбэл Photoshop дээр зөв харагдаж байгаа тоосгон хананы текстурыг материалд оноолоо гэж бодъё. Энэ зураг аль хэдийн 2.2 гэсэн гамма хувиргалтыг өөртөө агуулж байгаа. Харин рендэрлэгч нь текстурын гаммаг 1.0 гэж үзээд буруу тооцоолол хийдэг. Хэрэв spotlight-ийг 2 дахин хувилж тавихад гэрэлтүүлэлт хоёр дахин өснө гэж та тооцоолж байж магадгүй. Ингэвэл шугаман бус зарчмаар ажиллаж байгаа үед brightness тав дахин өснө гэдгийг анхаарах хэрэгтэй. Гамма хувиргалт хийгээгүйн үр дүн ингэж илэрнэ. Зураг ч гэрлийг хэт их нялсан мэт харагдана.
Гамма хувиргалт хийлгүйгээр гэрлээ тохируулж сайн үр дүнг гаргаж авч болох хэдий ч үүнийг ашигласнаар бодит байдалд нийцэх үр дүнг амархан олох бололцоотой.
Gamma correction is a two part process. Since your textures are created in gamma 2.2 space, they need to be converted to gamma 1.0 The way I have learned to do this is in my renderer of choice (Mental Ray for Maya) I apply a gamma correction of .454545 (2.2 x .454545 = 1). This converts my texture into a gamma space that my renderer can work with correctly. However, the rendered image might look a little off, since it’s a gamma 1.0 image being displayed on a gamma 2.2 display. To correct this I then apply a gamma correction of 2.2 to my rendered image to bring it back into gamma 2.2 space.
To actually do this in Maya, graph the shader network you want to gamma correct. In my case I use file nodes which output their color into my lambert or blinn. Just break that color connection and insert a gamma_correct node (it’s a Maya utility I believe) in between them. Your file node will connect to the ‘value’ setting of the Gamma Correction node. Make sure to set the gamma correction node to .454545 values. Then connect your Gamma Correction node into the color of your blinn or lambert. In order to get your gamma back to 2.2 you can then add a mia_exposure_simple or mia_exposure_photographic to the camera you are rendering. There is a really good article I found on exactly how to use this mia_exposure node right here
Ok, now on to the topic of tone mapping. Gamma correction is a part of the larger topic of tone mapping. I found an absolutely wonderful link regarding tone mapping here : I'm not sure who wrote it, but it's very good.
So images are, by default in Mental Ray, rendered in HDR (High Dynamic Range). In an image without HDR, intensity values are represented on a 0-1 scale (as in what the monitor can represent). In this way, all of your bright and dark values have a fairly small range by which to be presented. Also, there is a limitation with the 0-255 RGB scale in that if you have a scene and increase brightness by 20, all pixels with a brightness value of 235+ will be compressed to 255, flattening the image. HDR images give a range of values that goes far beyond the standard range. Although a monitor cannot display all these added values, HDR images give a much richer range of values with room to make changes without sacrificing quality or 'clipping' your brights and darks. As nVidia is quoted as saying on wiki - HDR's features mean "Bright things can be really bright, Dark things can be really dark, and details can be seen in both."
Although an HDR image is physically more correct, it can't be displayed by the limited capabilites of a computer monitor or television. A pure HDR image would appear overbright or washed out, due to the higher range of brights it can represent. In order for an HDR image to look good on a standard monitor it has to be converted to LDR (Low Dynamic Range). This is where Tone Mapping fits in. Tone mapping converts HDR images to LDR images, taking the physically correct lighting done in an HDR render and attempting to fit them into and LDR range so your monitor can display it.
HDR is best saved in 16 bit (half point) or 32 bit (floating point). The reason for this is (per Jozvex) they have an increased dynamic range which allows them to store more detail to be preserved in highlights and shadows (see link)
The floating point value allows the decimal value to be placed anywhere along the value, increasing the range that can be represented.
Image formats that can retain HDR data are Tiff, HDR and EXR. However, once converted to LDR, any image format can be used that accurately depicts LDR images.
Монитор ийм хөрвүүлэлт хийдэг учраас гамма тохиргоог авч байж зурагтай ажиллах нь гарцаагүй. 3D програм дээр ажиллахад зарим нэг бэрхшээл тулгардаг. Рэндэр нь бүх боловсруулалтаа шугаман аргаар гүйцэтгэдэг. Өөрөөр хэлбэл 2+2 гэсэн илэрхийлэл нь 4 гэсэн абсолют ганц хариутай. Рендер нь материалд холбосон текстур зурганд шугаман бус хөрвүүлэлт хийгдээгүй гэж үзээд тооцоогоо хийдэг.
Өөрөөр хэлбэл Photoshop дээр зөв харагдаж байгаа тоосгон хананы текстурыг материалд оноолоо гэж бодъё. Энэ зураг аль хэдийн 2.2 гэсэн гамма хувиргалтыг өөртөө агуулж байгаа. Харин рендэрлэгч нь текстурын гаммаг 1.0 гэж үзээд буруу тооцоолол хийдэг. Хэрэв spotlight-ийг 2 дахин хувилж тавихад гэрэлтүүлэлт хоёр дахин өснө гэж та тооцоолж байж магадгүй. Ингэвэл шугаман бус зарчмаар ажиллаж байгаа үед brightness тав дахин өснө гэдгийг анхаарах хэрэгтэй. Гамма хувиргалт хийгээгүйн үр дүн ингэж илэрнэ. Зураг ч гэрлийг хэт их нялсан мэт харагдана.
Гамма хувиргалт хийлгүйгээр гэрлээ тохируулж сайн үр дүнг гаргаж авч болох хэдий ч үүнийг ашигласнаар бодит байдалд нийцэх үр дүнг амархан олох бололцоотой.
Gamma correction is a two part process. Since your textures are created in gamma 2.2 space, they need to be converted to gamma 1.0 The way I have learned to do this is in my renderer of choice (Mental Ray for Maya) I apply a gamma correction of .454545 (2.2 x .454545 = 1). This converts my texture into a gamma space that my renderer can work with correctly. However, the rendered image might look a little off, since it’s a gamma 1.0 image being displayed on a gamma 2.2 display. To correct this I then apply a gamma correction of 2.2 to my rendered image to bring it back into gamma 2.2 space.
To actually do this in Maya, graph the shader network you want to gamma correct. In my case I use file nodes which output their color into my lambert or blinn. Just break that color connection and insert a gamma_correct node (it’s a Maya utility I believe) in between them. Your file node will connect to the ‘value’ setting of the Gamma Correction node. Make sure to set the gamma correction node to .454545 values. Then connect your Gamma Correction node into the color of your blinn or lambert. In order to get your gamma back to 2.2 you can then add a mia_exposure_simple or mia_exposure_photographic to the camera you are rendering. There is a really good article I found on exactly how to use this mia_exposure node right here
Ok, now on to the topic of tone mapping. Gamma correction is a part of the larger topic of tone mapping. I found an absolutely wonderful link regarding tone mapping here : I'm not sure who wrote it, but it's very good.
So images are, by default in Mental Ray, rendered in HDR (High Dynamic Range). In an image without HDR, intensity values are represented on a 0-1 scale (as in what the monitor can represent). In this way, all of your bright and dark values have a fairly small range by which to be presented. Also, there is a limitation with the 0-255 RGB scale in that if you have a scene and increase brightness by 20, all pixels with a brightness value of 235+ will be compressed to 255, flattening the image. HDR images give a range of values that goes far beyond the standard range. Although a monitor cannot display all these added values, HDR images give a much richer range of values with room to make changes without sacrificing quality or 'clipping' your brights and darks. As nVidia is quoted as saying on wiki - HDR's features mean "Bright things can be really bright, Dark things can be really dark, and details can be seen in both."
Although an HDR image is physically more correct, it can't be displayed by the limited capabilites of a computer monitor or television. A pure HDR image would appear overbright or washed out, due to the higher range of brights it can represent. In order for an HDR image to look good on a standard monitor it has to be converted to LDR (Low Dynamic Range). This is where Tone Mapping fits in. Tone mapping converts HDR images to LDR images, taking the physically correct lighting done in an HDR render and attempting to fit them into and LDR range so your monitor can display it.
HDR is best saved in 16 bit (half point) or 32 bit (floating point). The reason for this is (per Jozvex) they have an increased dynamic range which allows them to store more detail to be preserved in highlights and shadows (see link)
The floating point value allows the decimal value to be placed anywhere along the value, increasing the range that can be represented.
Image formats that can retain HDR data are Tiff, HDR and EXR. However, once converted to LDR, any image format can be used that accurately depicts LDR images.
Гамма гэж юу вэ.
1. Интенсити буюу гэрэлтүүлэлт гэж юу вэ?
Гэрэлтүүлэлт гэдэг нь гэрлийн энерги нэгж талбайг ямар хурдтай туулж өнгөрүүлэх вэ гэдгийг тодорхойлдог. Өөрөөр хэлбэл гэрлийн гэрэлтүүлэлт хэр байгааг хэмжих шугаман хэмжилт бөгөөд метр квадратад харгалзах ватт гэсэн нэгжээр хэмжигдэнэ.
Дэлгэцэнд цэгийн өнгөний бүрдэл хэсэг болох гэрэлтүүлгийг дүрслэх цахилгааны хүчдэл буюу вольт нь гэрэлтүүлэлттэй шугаман бус хамааралтай байдаг.
2.Brightness гэж юу вэ? CIE-ийн тодорхойлсноор бол brightness гэдэг нь тухайн талбайгаас цацарч байгаа гэрлийн хэмжээ их , бага эсэхийг тодорхойлдог. Яг тодорхойлоод хэмжчих тоон утга байдаггүй ерөнхий агуулгатай ойлголт.
3. Luminance гэж юу вэ? Brightness -ийн хэмжээг тодорхойлоход хүндрэлтэй учраас өөр нэгэн хэмжигдхүүн буюу Luminance-ийг хэрэглэх болсон.Энэ нь хүний харааны онцлог шинж чанарт тохируулсан гэрлийн энерги их бага байгааг тодорхойлох зориулалттай хэмжигдхүүн юм. Luminance-ийн магнитуд нь физик энергитэй шууд хамааралтай учраас гэрэлтүүлэлттэй адил.Ялгаа нь гэрлийн спектр нь хүний өнгөний мэдрэмжтэй нягт холбоотой. Шугаман гэрлийн улаан, ногоон, цэнхэр гэсэн үндсэн гурван бүрдэл хэсгийг эзлэх жингээр нь үржүүлж нэмснээр Luminance-ийг тодорхойлдог.Жишээ нь ихэнхи камер дараахь илэрхийллийг ашиглан Luminance-ийн хэмжээг тодорхойлдог. Y=0.2125R+0.7154G + 0.0721B.Хэмжих нэгж нь метр квадратад харгалзах кандела буюу cd/m2.
Хүний нүд нь 555 нанометр урттай гэрлийн долгионыг хамгийн сайн мэдэрдэг.
4. Lightness гэж юу вэ? Хүний нүд нь гэрэл тодрох тусам энэхүү өөрчлөлтийн мэдээллийг шугаман бус хамаарлаар хүлээн авдаг. Өөрөөр хэлбэл тодорхой нэгэн эх үүсвэрийг цагаан гэж үзээд нормалчлахад үүний 18% тай тэнцэх тод зүйл хүний нүдэнд 50% мэт харагдана. Энэ харьцаа логарифмийн муруйгаар тодорхойлогдоно.
5.Гамма
Физик төхөөрөмжөөс ятгарч байгаа гэрэл нь цаанаас ирсэн сигналтай шугаман бус хамааралтай. Жишээ CRT нь дэлгэцээс ялгарах цэгийн гэрэлтүүлэлтийг тодорхойлохдоо харгалзах вольтын утгыг 2.5 зэрэгт дэвшүүлдэг.Энэ утгыг гамма гэж нэрлэдэг.Энэхүү шугаман бус хамаарал нь зөв интенситиг гаргаж авахад чухал хэрэгтэй.Хүний нүд ч гэрлийн тодролтыг шугаман бус хэлбэрээр хүлээн авдаг хэмээн дээр дурьдсан.Гэрлийн тодролтыг 256 хэсэгт жигд хуваан кодловол үр дүн муутай нь илэрхий.0 дээр хар, 255-д цагаан гэсэн утга харгалзана. Гайхалтай давхцалаар хүний нүдний гэрэл ялгах авах чадвар нь CRT дэлгэцийн гэрэлтүүлэлттэй урвуу хамааралтай.
Гэрэлтүүлэлт гэдэг нь гэрлийн энерги нэгж талбайг ямар хурдтай туулж өнгөрүүлэх вэ гэдгийг тодорхойлдог. Өөрөөр хэлбэл гэрлийн гэрэлтүүлэлт хэр байгааг хэмжих шугаман хэмжилт бөгөөд метр квадратад харгалзах ватт гэсэн нэгжээр хэмжигдэнэ.
Дэлгэцэнд цэгийн өнгөний бүрдэл хэсэг болох гэрэлтүүлгийг дүрслэх цахилгааны хүчдэл буюу вольт нь гэрэлтүүлэлттэй шугаман бус хамааралтай байдаг.
2.Brightness гэж юу вэ? CIE-ийн тодорхойлсноор бол brightness гэдэг нь тухайн талбайгаас цацарч байгаа гэрлийн хэмжээ их , бага эсэхийг тодорхойлдог. Яг тодорхойлоод хэмжчих тоон утга байдаггүй ерөнхий агуулгатай ойлголт.
3. Luminance гэж юу вэ? Brightness -ийн хэмжээг тодорхойлоход хүндрэлтэй учраас өөр нэгэн хэмжигдхүүн буюу Luminance-ийг хэрэглэх болсон.Энэ нь хүний харааны онцлог шинж чанарт тохируулсан гэрлийн энерги их бага байгааг тодорхойлох зориулалттай хэмжигдхүүн юм. Luminance-ийн магнитуд нь физик энергитэй шууд хамааралтай учраас гэрэлтүүлэлттэй адил.Ялгаа нь гэрлийн спектр нь хүний өнгөний мэдрэмжтэй нягт холбоотой. Шугаман гэрлийн улаан, ногоон, цэнхэр гэсэн үндсэн гурван бүрдэл хэсгийг эзлэх жингээр нь үржүүлж нэмснээр Luminance-ийг тодорхойлдог.Жишээ нь ихэнхи камер дараахь илэрхийллийг ашиглан Luminance-ийн хэмжээг тодорхойлдог. Y=0.2125R+0.7154G + 0.0721B.Хэмжих нэгж нь метр квадратад харгалзах кандела буюу cd/m2.
Хүний нүд нь 555 нанометр урттай гэрлийн долгионыг хамгийн сайн мэдэрдэг.
4. Lightness гэж юу вэ? Хүний нүд нь гэрэл тодрох тусам энэхүү өөрчлөлтийн мэдээллийг шугаман бус хамаарлаар хүлээн авдаг. Өөрөөр хэлбэл тодорхой нэгэн эх үүсвэрийг цагаан гэж үзээд нормалчлахад үүний 18% тай тэнцэх тод зүйл хүний нүдэнд 50% мэт харагдана. Энэ харьцаа логарифмийн муруйгаар тодорхойлогдоно.
5.Гамма
Физик төхөөрөмжөөс ятгарч байгаа гэрэл нь цаанаас ирсэн сигналтай шугаман бус хамааралтай. Жишээ CRT нь дэлгэцээс ялгарах цэгийн гэрэлтүүлэлтийг тодорхойлохдоо харгалзах вольтын утгыг 2.5 зэрэгт дэвшүүлдэг.Энэ утгыг гамма гэж нэрлэдэг.Энэхүү шугаман бус хамаарал нь зөв интенситиг гаргаж авахад чухал хэрэгтэй.Хүний нүд ч гэрлийн тодролтыг шугаман бус хэлбэрээр хүлээн авдаг хэмээн дээр дурьдсан.Гэрлийн тодролтыг 256 хэсэгт жигд хуваан кодловол үр дүн муутай нь илэрхий.0 дээр хар, 255-д цагаан гэсэн утга харгалзана. Гайхалтай давхцалаар хүний нүдний гэрэл ялгах авах чадвар нь CRT дэлгэцийн гэрэлтүүлэлттэй урвуу хамааралтай.
Wednesday, April 28, 2010
Mental Ray-гээр рендерлэсэн зураг яагаад хар харагддаг вэ
Энд фотометрийн тухай дурьдалгүйгээр RGB буюу цэгийн өнгө нь дараахи хоёр зүйлийн аль нэгээр илэрхийлэгддэг болохыг харцгаая.
Байшингийн зургийг background болгож тавилаа гэж бодъё.Тэгвэл энэ зураг нь яг л байгаагаараа камерт харагдана. Хар нь хараараа цагаан нь цагаанаараа, дунд талын утгууд яг хэвээрээ. Харин 1.0 гэсэн гэрэлтүүлэгтэй гэрлийг модны зурагтай хавтгай руу перпендикуляраар тусгаад дүрслэн (render) харахад энэ зураг мөн л байгаагаараа өмнөхтэйгээ ижил харагдана. Дээрх хоёр процессийг ялгавал модны зургийг гэрэл туссан учраас харагдаж байна гэж үзэх ба гэрлийн ойлтыг тооцоолон харгалзах цацралтын утганд хөрвүүлэн дэлгэцэнд харуулна. Харин байшингийн зураг нь цэгийн өнгийг шууд дэлгэцэнд харуулж байгаа учраас цацралт болно.
Үүнээс үүсэх асуудал бол тухайн тухайн гадаргуу нь хүлээж авсан гэрлээсээ илүү гэрлийг ойлгох боломжгүйд байгаа юм. Тухайн гадаргуугийн гэрэл ойлгох чадвар нь 0-1 хооронд хэмжигдэнэ.Харин бодит амьдралд ийм хил хязгаар гэж байхгүй.
- Ойлт (Reflectance value)
- Цацралт (Luminance,radiance value )
Байшингийн зургийг background болгож тавилаа гэж бодъё.Тэгвэл энэ зураг нь яг л байгаагаараа камерт харагдана. Хар нь хараараа цагаан нь цагаанаараа, дунд талын утгууд яг хэвээрээ. Харин 1.0 гэсэн гэрэлтүүлэгтэй гэрлийг модны зурагтай хавтгай руу перпендикуляраар тусгаад дүрслэн (render) харахад энэ зураг мөн л байгаагаараа өмнөхтэйгээ ижил харагдана. Дээрх хоёр процессийг ялгавал модны зургийг гэрэл туссан учраас харагдаж байна гэж үзэх ба гэрлийн ойлтыг тооцоолон харгалзах цацралтын утганд хөрвүүлэн дэлгэцэнд харуулна. Харин байшингийн зураг нь цэгийн өнгийг шууд дэлгэцэнд харуулж байгаа учраас цацралт болно.
Үүнээс үүсэх асуудал бол тухайн тухайн гадаргуу нь хүлээж авсан гэрлээсээ илүү гэрлийг ойлгох боломжгүйд байгаа юм. Тухайн гадаргуугийн гэрэл ойлгох чадвар нь 0-1 хооронд хэмжигдэнэ.Харин бодит амьдралд ийм хил хязгаар гэж байхгүй.
Subscribe to:
Posts (Atom)