๋ณธ๋ฌธ์œผ๋กœ ์ด๋™

OptiX

์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „.
์—”๋น„๋””์•„ OptiX
๊ฐœ๋ฐœ์ž์—”๋น„๋””์•„
์•ˆ์ •ํ™” ๋ฒ„์ „
9.0 / 2025๋…„ 2์›”ย (2025-02)
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ดC / C++
์šด์˜ ์ฒด์ œ๋ฆฌ๋ˆ…์Šค, OS X, ์œˆ๋„์šฐ 7 ์ด์ƒ
์ข…๋ฅ˜๊ด‘์„  ์ถ”์ 
๋ผ์ด์„ ์Šค์‚ฌ์œ  ์†Œํ”„ํŠธ์›จ์–ด, ์ƒ์—…์šฉ ๋ฌด๋ฃŒ
์›น์‚ฌ์ดํŠธNvidia OptiX ๊ฐœ๋ฐœ์ž ์‚ฌ์ดํŠธ

OptiX๋Š” 2009๋…„๊ฒฝ ์ฒ˜์Œ ๊ฐœ๋ฐœ๋œ ๊ด‘์„  ์ถ”์  API์ด๋‹ค.[1] ๊ณ„์‚ฐ์€ CUDA์™€ ํ•จ๊ป˜ ๋„์ž…๋œ ์ €์ˆ˜์ค€ ๋˜๋Š” ๊ณ ์ˆ˜์ค€ API๋ฅผ ํ†ตํ•ด GPU๋กœ ์˜คํ”„๋กœ๋“œ๋œ๋‹ค. CUDA๋Š” ์—”๋น„๋””์•„์˜ ๊ทธ๋ž˜ํ”ฝ ์ œํ’ˆ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์—”๋น„๋””์•„ OptiX๋Š” ์—”๋น„๋””์•„ ๊ฒŒ์ž„์›์Šค์˜ ์ผ๋ถ€์ด๋‹ค. OptiX๋Š” ๊ณ ์ˆ˜์ค€ ๋˜๋Š” "์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘์‹ฌ" API๋กœ, ๊ด‘์„  ์ถ”์  ์ž์ฒด๋งŒ์ด ์•„๋‹ˆ๋ผ ๊ด‘์„  ์ถ”์ ์ด ํฌํ•จ๋œ ์ „์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์บก์Аํ™”ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ์ด๋Š” OptiX ์—”์ง„์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธก ๋ณ€๊ฒฝ ์—†์ด ๋” ํฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งค์šฐ ์œ ์—ฐํ•˜๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ๋น„๋””์˜ค ๊ฒŒ์ž„์€ ๋ Œ๋”๋ง์— ๊ด‘์„  ์ถ”์  ๋Œ€์‹  ๋ž˜์Šคํ„ฐํ™”๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์—”๋น„๋””์•„์— ๋”ฐ๋ฅด๋ฉด, OptiX๋Š” "์ ˆ์ฐจ์  ์ •์˜ ๋ฐ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ Œ๋”๋ง ๋ฐฉ์‹"์— ์ถฉ๋ถ„ํžˆ ์œ ์—ฐํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค ๋ Œ๋”๋ง ์™ธ์—๋„ OptiX๋Š” ๊ด‘ํ•™ ๋ฐ ์Œํ–ฅ ์„ค๊ณ„, ๋ฐฉ์‚ฌ์„  ๋ฐ ์ „์ž๊ธฐํŒŒ ์—ฐ๊ตฌ,[2] ์ธ๊ณต์ง€๋Šฅ ์ฟผ๋ฆฌ ๋ฐ ์ถฉ๋Œ ๋ถ„์„์—๋„ ๋„์›€์ด ๋œ๋‹ค.[3]

OptiX๋ฅผ ์‚ฌ์šฉํ•œ ๊ด‘์„  ์ถ”์ 

[ํŽธ์ง‘]
์—”๋น„๋””์•„ OptiX๋กœ ๊ทธ๋ ค์ง„ ์ฅ˜๋ฆฌ์•„ ์ง‘ํ•ฉ (์ด๊ฒƒ์€ SDK์˜ ์ƒ˜ํ”Œ์ด๋‹ค.)

OptiX๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ œ๊ณตํ•œ ์ง€์นจ(CUDA ์ปค๋„ ํ˜•์‹)์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์ƒํ™ฉ์—์„œ ๊ด‘์„ ์ด ์™„์ „ํ•œ ์ถ”์  ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ž‘๋™ํ•œ๋‹ค.[4]

๊ด‘์„ (๋˜๋Š” ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๊ด‘์„ )์€ ๋‹ค๋ฅธ ํ‘œ๋ฉด์ด ์•„๋‹Œ ํŠน์ • ํ‘œ๋ฉด์— ๋ถ€๋”ชํž ๋•Œ ๋‹ค๋ฅธ ๋™์ž‘์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, OptiX๋Š” ์‚ฌ์šฉ์ž ์ œ๊ณต ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ด๋Ÿฌํ•œ ํžˆํŠธ ์กฐ๊ฑด์„ ์‚ฌ์šฉ์ž ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์ด ํ”„๋กœ๊ทธ๋žจ์€ CUDA C ๋˜๋Š” ์ง์ ‘ PTX ์ฝ”๋“œ๋กœ ์ž‘์„ฑ๋˜๋ฉฐ OptiX ์—”์ง„์—์„œ ์‚ฌ์šฉํ•  ๋•Œ ํ•จ๊ป˜ ์—ฐ๊ฒฐ๋œ๋‹ค.

OptiX๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์‹œ์Šคํ…œ์— CUDA ์ง€์› GPU๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ CUDA ํˆดํ‚ท์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

๊ด‘์„  ์ถ”์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ OptiX ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ํฌํ•จํ•œ๋‹ค.

  • ๊ด‘์„  ์ƒ์„ฑ ํ”„๋กœ๊ทธ๋žจ(์˜ˆ: ๊ด‘์„ ์€ ํ‰ํ–‰ํ•˜๊ฒŒ, ์›๊ทผ๋ฒ• ๋ฐฉ์‹์œผ๋กœ ๋˜๋Š” ๊ธฐ์šธ๊ธฐ ํ•„๋“œ์ฒ˜๋Ÿผ ๋ฐœ์‚ฌ๋  ์ˆ˜ ์žˆ๋‹ค), ๊ด‘์„  ๋ˆ„๋ฝ(๊ด‘์„ ์ด ์–ด๋–ค ๊ฐ์ฒด์™€๋„ ๊ต์ฐจํ•˜์ง€ ์•Š์„ ๋•Œ), ์„ ํƒ์  ์˜ˆ์™ธ ํ”„๋กœ๊ทธ๋žจ(์–ด๋–ค ์ด์œ ๋กœ ๊ด‘์„ ์ด ๋ฐœ์‚ฌ๋  ์ˆ˜ ์—†์„ ๋•Œ), ๊ฒฝ๊ณ„ ์ƒ์ž ํ”„๋กœ๊ทธ๋žจ(์ฃผ์–ด์ง„ ๊ฐ์ฒด์— ๋Œ€ํ•œ ๊ฒฝ๊ณ„ ์ƒ์ž ๊ต์ฐจ ํ…Œ์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ) ๋ฐ ๊ต์ฐจ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ํ”„๋กœ๊ทธ๋žจ ์ •์˜.

์ด๋Ÿฌํ•œ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ SDK์™€ ํ•จ๊ป˜ ์ œ๊ณต๋œ๋‹ค.

// Sample code using OptiX APIs //

/* Ray generation program */
rtProgramCreateFromPTXFile( *context, path_to_ptx, "pinhole_camera", &ray_gen_program );
rtContextSetRayGenerationProgram( *context, 0, ray_gen_program );

/* Miss program */
rtProgramCreateFromPTXFile( *context, path_to_ptx, "miss", &miss_program );
rtContextSetMissProgram( *context, 0, miss_program );

/* Bounding box and intersection program */
rtProgramCreateFromPTXFile( context, path_to_ptx, "box_bounds", &box_bounding_box_program );
rtGeometrySetBoundingBoxProgram( *box, box_bounding_box_program );
rtProgramCreateFromPTXFile( context, path_to_ptx, "box_intersect", &box_intersection_program );
rtGeometrySetIntersectionProgram( *box, box_intersection_program );

๊ฒฝ๊ณ„ ์ƒ์ž ํ”„๋กœ๊ทธ๋žจ์€ kd-ํŠธ๋ฆฌ ๋˜๋Š” ๊ฒฝ๊ณ„ ๋ณผ๋ฅจ ๊ณ„์ธต๊ณผ ๊ฐ™์€ ๊ฐ€์† ๊ตฌ์กฐ ๋‚ด์—์„œ ๊ด‘์„  ์ถ”์  ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ€์†ํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ๊ณ„ ๋ณผ๋ฅจ์„ ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

  • ์žฌ๋ฃŒ ํžˆํŠธ ๋ฐ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํžˆํŠธ ํ”„๋กœ๊ทธ๋žจ ์ƒ์„ฑ: ์ด ๋‘ ํ”„๋กœ๊ทธ๋žจ์€ ๊ด‘์„ ์ด ์ฒซ ๋ฒˆ์งธ ๊ต์ฐจ(๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํžˆํŠธ) ๋˜๋Š” ์ผ๋ฐ˜์ ์ธ ๊ต์ฐจ(๋ชจ๋“  ํžˆํŠธ)๋ฅผ ๋งŒ๋‚  ๋•Œ์˜ ๊ด‘์„  ๋™์ž‘์„ ๊ฒฐ์ •ํ•œ๋‹ค.
// Sample code using OptiX APIs //

rtProgramCreateFromPTXFile( context, path_to_ptx, "closest_hit_radiance", &closest_hit_program );
rtProgramCreateFromPTXFile( context, path_to_ptx, "any_hit_shadow", &any_hit_program );

/* Associate closest hit and any hit program with a material */
rtMaterialCreate( context, material );
rtMaterialSetClosestHitProgram( *material, 0, closest_hit_program );
rtMaterialSetAnyHitProgram( *material, 1, any_hit_program );
  • ์ œ๊ณต๋œ ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํผ, ๋ณ€์ˆ˜ ์ •์˜. ๋ฒ„ํผ๋Š” ํ˜ธ์ŠคํŠธ ์ฝ”๋“œ(์ฆ‰, ์ผ๋ฐ˜ CPU ์ฝ”๋“œ)๊ฐ€ ์žฅ์น˜ ์ฝ”๋“œ(์ฆ‰, GPU์—์„œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ)์™€ ํ†ต์‹ ํ•˜๊ณ  ๊ทธ ๋ฐ˜๋Œ€๋กœ๋„ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด๋‹ค. ๋ณ€์ˆ˜๋Š” OptiX๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•ด ๋ฒ„ํผ๋ฅผ ํ†ต์‹ ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋‚ด๋ถ€ ๋ฐฉ์‹์ด๋‹ค.
  • ๊ธฐํ•˜ํ•™์  ๊ฐ์ฒด, ๊ทธ๋ฃน, ์…€๋ ‰ํ„ฐ ๋ฐ ๊ธฐํƒ€ ๋…ธ๋“œ์˜ OptiX ๊ณ„์ธต์„ ์ •์˜ํ•˜์—ฌ ๋ Œ๋”๋ง๋  ์ „์ฒด ์žฅ๋ฉด์˜ ํŠธ๋ฆฌ ๊ทธ๋ž˜ํ”„๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
์—”๋น„๋””์•„ OptiX๋ฅผ ์œ„ํ•œ ์ƒ˜ํ”Œ ๊ทธ๋ž˜ํ”„ ํŠธ๋ฆฌ

๋ณต์žกํ•œ ์žฅ๋ฉด์„ ๋ Œ๋”๋งํ•˜๊ฑฐ๋‚˜ ์–ด๋–ค ๊ด‘์„ ์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด OptiX๋Š” ์—”๋น„๋””์•„ CUDA ํ”Œ๋žซํผ์„ ํ™œ์šฉํ•˜์—ฌ GPGPU ์ปดํ“จํŒ…์„ ํ™œ์šฉํ•œ๋‹ค. ๊ด‘์„  ๋ฐœ์‚ฌ ๋ฐ ๋™์ž‘ ์„ค์ • ํ”„๋กœ์„ธ์Šค๋Š” ๊ณ ๋„๋กœ ์‚ฌ์šฉ์ž ์ •์˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ OptiX๋Š” ๊ด‘์„  ์ถ”์  ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ๋‹ค๋ฅธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

OptiX Prime

[ํŽธ์ง‘]

OptiX 3.5.0๋ถ€ํ„ฐ OptiX Prime์ด๋ผ๋Š” ๋‘ ๋ฒˆ์งธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ฒˆ๋“ค์— ์ถ”๊ฐ€๋˜์—ˆ๋Š”๋ฐ, ์ด๋Š” ๊ด‘์„  ์ถ”์ ์„ ์œ„ํ•œ ๋น ๋ฅด๊ณ  ์ €์ˆ˜์ค€์˜ API๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. ์ฆ‰, ๊ฐ€์† ๊ตฌ์กฐ ๊ตฌ์ถ•, ๊ฐ€์† ๊ตฌ์กฐ ํƒ์ƒ‰ ๋ฐ ๊ด‘์„ -์‚ผ๊ฐํ˜• ๊ต์ฐจ๋ฅผ ํฌํ•จํ•œ๋‹ค. Prime์€ ๋˜ํ•œ ์‹œ์Šคํ…œ์—์„œ ํ˜ธํ™˜๋˜๋Š” GPU๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์„ ๋•Œ CPU ํด๋ฐฑ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. OptiX์™€ ๋‹ฌ๋ฆฌ Prime์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅํ•œ API๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ์‚ฌ์šฉ์ž ์ •์˜ ๋น„์‚ผ๊ฐํ˜• ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ๋ฐ ์…ฐ์ด๋”ฉ์— ๋Œ€ํ•œ ์ง€์›์ด ๋ถ€์กฑํ•˜๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— OptiX Prime์€ ๊ด‘์„  ์ถ”์ ์ด ํฌํ•จ๋œ ์ „์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์บก์Аํ™”ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ Prime์€ ์ƒˆ๋กœ์šด GPU๋ฅผ ์œ„ํ•ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‹ค์‹œ ์ปดํŒŒ์ผํ•˜๊ฑฐ๋‚˜, ์„ฑ๋Šฅ์„ ์œ„ํ•ด ๊ณ„์‚ฐ์„ ์žฌ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜, Quadro VCA์™€ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ์–ดํ”Œ๋ผ์ด์–ธ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

OptiX๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด

[ํŽธ์ง‘]
  • ๋ธ”๋ Œ๋”๋Š” ๋ฒ„์ „ 2.81(2.92์—์„œ๋Š” 7.1)๋ถ€ํ„ฐ OptiX๋ฅผ ์ง€์›ํ•œ๋‹ค.[5]
  • ๋ธ”๋ Œ๋” ์• ๋“œ์˜จ D-NOISE๋Š” AI ๊ฐ€์† ๋””๋…ธ์ด์ง•์„ ์œ„ํ•ด OptiX ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.[6]
  • SIGGRAPH 2011์—์„œ ์–ด๋„๋น„๋Š” ๋ชจ์…˜ ๊ทธ๋ž˜ํ”ฝ์„ ์œ„ํ•œ GPU ๊ด‘์„  ์ถ”์  ๊ธฐ์ˆ  ๋ฐ๋ชจ์—์„œ OptiX๋ฅผ ์„ ๋ณด์˜€๋‹ค.[7]
  • SIGGRAPH 2013์—์„œ OptiX๋Š” ํ”ฝ์‚ฌ์˜ ์‹ค์‹œ๊ฐ„ GPU ๊ธฐ๋ฐ˜ ์กฐ๋ช… ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ๋„๊ตฌ์— ์†Œ๊ฐœ๋˜์—ˆ๋‹ค.
  • OptiX๋Š” PhysX ๋ฐ ๊ธฐํƒ€ CUDA ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”ฝ ์—”์ง„ ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ํ•จ๊ป˜ ๊ฒŒ์ž„์›์Šค ๊ฐœ๋ฐœ์ž ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ํ†ตํ•ฉ๋˜์—ˆ๋‹ค.[8]
  • ์–ด๋„๋น„ ์• ํ”„ํ„ฐ ์ดํŽ™ํŠธ CC[9]
  • Daz Studio๋Š” Iray ํ†ตํ•ฉ ์ดํ›„ OptiX Prime ๊ฐ€์†์„ ์ง€์›ํ–ˆ์ง€๋งŒ, ๋ฒ„์ „ 4.12.1.8์—์„œ๋Š” ์ง€์›์ด ์ œ๊ฑฐ๋˜์—ˆ๋‹ค.[10]
  • Luxrender 2.5: ์ตœ๋Œ€ 600% ๊ฐ€์†[11]

๊ฐ™์ด ๋ณด๊ธฐ

[ํŽธ์ง‘]

๊ฐ์ฃผ

[ํŽธ์ง‘]
  1. โ†‘ โ€œScheduling in OptiX, the Nvidia ray tracing engineโ€ (PDF). 2009๋…„ 8์›” 15์ผ.
  2. โ†‘ Felbecker, Robert; Raschkowski, Leszek; Keusgen, Wilhelm; Peter, Michael (2012). ใ€ˆElectromagnetic wave propagation in the millimeter wave band using the NVIDIA OptiX GPU ray tracing engineใ€‰. ใ€Š2012 6th European Conference on Antennas and Propagation (EUCAP)ใ€‹. IEEE Xplore. 488โ€“492์ชฝ. doi:10.1109/EuCAP.2012.6206198. ISBNย 978-1-4577-0920-3. S2CIDย 45563615.
  3. โ†‘ Steven G. Parker; Heiko Friedrich; David Luebke; Keith Morley; James Bigler; Jared Hoberock; David McAllister; Austin Robison; Andreas Dietrich; Greg Humphreys; Morgan McGuire; Martin Stich (2013). ใ€ŠMagazine Communications of the ACM - GPU ray tracingใ€‹. ใ€ŠCommunications of the ACMใ€‹ 56 (ACM). 93โ€“101์ชฝ. doi:10.1145/2447976.2447997. S2CIDย 17174671. 2013๋…„ 8์›” 14์ผ์— ํ™•์ธํ•จ.
  4. โ†‘ Steven G. Parker; James Bigler; Andreas Dietrich; Heiko Friedrich; Jared Hoberock; David Luebke; David McAllister; Morgan McGuire; Keith Morely; Austin Robison; Martin Stich (2010). ใ€ŠOptiX: a general purpose ray tracing engineใ€‹. ใ€ŠACM Transactions on Graphicsใ€‹ 29 (ACM). 66:1โ€“66:13์ชฝ. doi:10.1145/1778765.1778803. 2013๋…„ 8์›” 14์ผ์— ํ™•์ธํ•จ.
  5. โ†‘ โ€œBlender 2.81 Benchmarks On 19 NVIDIA Graphics Cards - RTX OptiX Rendering Performance Is Incredibleโ€. phoronix.com. 2019. 2019๋…„ 11์›” 26์ผ์— ํ™•์ธํ•จ.
  6. โ†‘ โ€œD-NOISE: Rapid AI Denoising for Blenderโ€. ใ€ŠRemington Creativeใ€‹. 2019๋…„ 7์›” 20์ผ. 2019๋…„ 12์›” 14์ผ์— ํ™•์ธํ•จ.
  7. โ†‘ โ€œAdobe showcasing OptiX in a technology demo for ray tracing motion graphics with GPUsโ€. NVIDIA. 2013. 2011๋…„ 8์›” 17์ผ์— ์›๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์กด๋œ ๋ฌธ์„œ. 2013๋…„ 8์›” 14์ผ์— ํ™•์ธํ•จ.
  8. โ†‘ โ€œNvidia announces Gameworks Program at Montreal 2013; supports SteamOSโ€. NVIDIA. 2013. 2013๋…„ 11์›” 1์ผ์— ์›๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์กด๋œ ๋ฌธ์„œ. 2013๋…„ 10์›” 29์ผ์— ํ™•์ธํ•จ.
  9. โ†‘ โ€œGPU changes (for CUDA and OpenGL) in After Effects CC (12.1) | After Effects region of interestโ€. 2015๋…„ 2์›” 22์ผ์— ํ™•์ธํ•จ.
  10. โ†‘ โ€œDaz Studio Changelogโ€. ใ€ŠDAZ 3Dใ€‹. 2019๋…„ 12์›” 14์ผ์— ํ™•์ธํ•จ.
  11. โ†‘ โ€œNew Features in v2.5 โ€“ LuxCoreRenderโ€.

์™ธ๋ถ€ ๋งํฌ

[ํŽธ์ง‘]