32x32x32 ํฌ๊ธฐ์˜ ์˜ฅํŠธ๋ฆฌ๋กœ ๋งŒ๋“  ๋ฉ”์‰ฌ


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec83fa11d0283146e1de228a7923f189a7bc559b247e68c18a0d5859f940d14305a69efcdac8c5cf14fca0cb4d9b9e85df25d9ef48f64341fbc2


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec83fa11d0283146e1de228a7923f189a7bc559b247e68c18a0d5859f940d14305a69efcdac8c5cf14fca0cb4d9b9cd38421d9ee48f543582322





64x64x64 ์˜ฅํŠธ๋ฆฌ์—์„œ LoD1๋กœ 2x2x2๋ฅผ ํ•˜๋‚˜์˜ ๋ณต์…€๋กœ ์‚ผ์•„ ๋งŒ๋“  ๋ฉ”์‰ฌ


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec83fa11d0283146e1de228a7923f189a7bc559b247e68c18a0d5859f940d14305a69efcdac8c5cf14fca0cb4d9bc4d38b2184ec44f0432cdb0b


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec83fa11d0283146e1de228a7923f189a7bc559b247e68c18a0d5859f940d14305a69efcdac8c5cf14fca0cb4d9bc4d7de21d9e913a143e32ecd



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec83fa11d0283146e1de228a7923f189a7bc559b247e68c18a0d5859f940d14305a69efcdac8c5cf14fca0cb4d9bcfd0d92ed6e747f743d6050c




https://github.com/nickgildea/DualContouringSample/blob/master/DualContouringSample/octree.cpp


์ด๊ฒŒ ์ธํ„ฐ๋„ท์— ์กด์žฌํ•˜๋Š” ์˜ฅํŠธ๋ฆฌ ํ˜•ํƒœ์˜ ๋ณต์…€๋ฐ์ดํ„ฐ์—์„œ ๋“€์–ผ ์ปจํˆฌ์–ด๋ง ๋ฉ”์‰ฌ๋ฅผ ๋งŒ๋“œ๋Š” ์ฝ”๋“œ์ž„.

์˜ฅํŠธ๋ฆฌ์— ์ •๋ณด๊ฐ€ ์ „๋ถ€ ๋“ค์–ด์žˆ๋Š” ์ƒํ™ฉ์—์„œ ContourCellProc์„ ์‹คํ–‰์‹œํ‚ค๋ฉด ์žฌ๊ท€์ ์œผ๋กœ ์˜ฅํŠธ๋ฆฌ๋ฅผ ๋Œ๋ฉด์„œ ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ชจ์„œ๋ฆฌ๋ฅผ ํ›‘๊ณ  ์ง€๋‚˜๊ฐ.



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec82fa11d02831da48f5f7e7e334e6e7e5eac8fbda62f95b75ec8f481174854939341d7fb77de2424f009d470ea4130f3c104f28dd27caba02f8


์ด๊ฑธ ๋‚ด๊ฐ€ ์ง์ ‘ ๊ตฌํ˜„ํ•ด์•ผ ๊ณ„์† ์ง„ํ–‰ ํ•  ์ˆ˜ ์žˆ๋Š” ์ž์‹ ๊ฐ์ด ๋‚˜์˜ฌ ๊ฒƒ ๊ฐ™์•˜์Œ.


๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„  ์ดํ•ดํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์กฐ๊ธˆ ๊ณ ์ƒํ•จ.


์šฐ์„  ContourCellProc, ContourFaceProc์˜ ๊ฒฝ์šฐ์—๋Š”, ์™ธ๊ณฝ์„ ์— ์กด์žฌํ•˜๋Š” ๋ชจ์„œ๋ฆฌ๋Š” ๋ฌด์‹œํ•˜๊ณ , ๋‚ด๋ถ€์— ๋“ค์–ด์žˆ๋Š” ๋ชจ์„œ๋ฆฌ๋งŒ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜์ž„.


ContourCellProc์€ ๋…ธ๋“œ nxnxnํฌ๊ธฐ ๋‚ด๋ถ€์— ์กด์žฌํ•˜๋Š” ๋ชจ์„œ๋ฆฌ๋ฅผ ๊ตฌํ•˜๊ณ ,


ContourFaceProc์€ ๋…ธ๋“œ์˜ ํ•œ์ชฝ ๋ฉด nxn ๋‚ด๋ถ€์— ์กด์žฌํ•˜๋Š” ๋ชจ์„œ๋ฆฌ๋ฅผ ๊ตฌํ•จ.


๋งˆ์ง€๋ง‰์œผ๋กœ ContourEdgeProc์€ ๋ชจ์„œ๋ฆฌ ํ•˜๋‚˜ ์•ˆ์— ์กด์žฌํ•˜๋Š” ๋ชจ์„œ๋ฆฌ๋ฅผ ๊ตฌํ•จ. (๋…ธ๋“œ๊ฐ€ ๋ถ„ํ• ๋˜๋ฉด ๋ชจ์„œ๋ฆฌ ํ•˜๋‚˜์—์„œ 2๊ฐœ์˜ ์ž‘์€ ๋ชจ์„œ๋ฆฌ๊ฐ€ ๋‚˜์˜ด)




ContourCellProc์ด ์ตœ์ดˆ์˜ ๋…ธ๋“œ๋ฅผ ๋ฐ›์•„์„œ, 8๊ฐœ์˜ ์ž์‹์—๊ฒŒ์„œ ContourCellProc์„ ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœํ•ด์คŒ.


์ž์‹์—๊ฒŒ์„œ ContourCellProc์ด ์ „๋ถ€ ๋Œ์•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด,


๋‚จ์€ ๋ชจ์„œ๋ฆฌ๋Š” ํ•ด๋‹น ์ž์‹ 8๊ฐœ ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ๋ฉด 12๊ฐœ, ๋ชจ์„œ๋ฆฌ 6๊ฐœ๊ฐ€ ์ „๋ถ€์ž„.


๋ฉด 12๊ฐœ์—์„œ ContourFaceProc์„ ํ˜ธ์ถœํ•ด์ฃผ๊ณ , ๋ชจ์„œ๋ฆฌ 6๊ฐœ์—์„œ ContourEdgeProc์„ ํ˜ธ์ถœํ•ด์คŒ.



ContourFaceProc์€ ๋ฉด์„ ๋ฐ›๋Š”๋ฐ, ์‹ค์ œ๋กœ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋Š” ํ•ด๋‹น ๋ฉด์„ ๊ณต์œ ํ•˜๋Š” ๋‘ ๋…ธ๋“œ์™€, ๋ฉด์˜ ๋ฐฉํ–ฅ(x/y/z)์ž„.


ContourFaceProc์€ ๋ฐ›์€ ๋…ธ๋“œ๊ฐ€ ๋ถ„ํ• ๋˜์–ด์žˆ๋‹ค๋ฉด, ํ•ด๋‹น ๋ฉด์—์„œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” 4๊ฐœ์˜ ๋ฉด์—์„œ ๋‹ค์‹œ ์žฌ๊ท€์ ์œผ๋กœ ContourFaceProc์„ ํ˜ธ์ถœํ•ด์คŒ


๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ๋ฉด์—์„œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ชจ์„œ๋ฆฌ 4๊ฐœ์—์„œ ContourEdgeProc์„ ํ˜ธ์ถœํ•ด์คŒ.



ContourEdgeProc์€ ๋ชจ์„œ๋ฆฌ๋ฅผ ๋ฐ›๋Š”๋ฐ, ์‹ค์ œ๋กœ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋Š” ํ•ด๋‹น ๋ชจ์„œ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๋Š” 4๊ฐœ์˜ ๋…ธ๋“œ์™€, ๋ชจ์„œ๋ฆฌ์˜ ๋ฐฉํ–ฅ์ž„.


๋ฐ›์€ 4๊ฐœ์˜ ๋…ธ๋“œ ์ค‘ ๋ถ„ํ• ๋œ ๋…ธ๋“œ๊ฐ€ ํ•˜๋‚˜๋ผ๋„ ์žˆ๋‹ค๋ฉด, ๋ชจ์„œ๋ฆฌ๋ฅผ 2๊ฐœ๋กœ ๋ถ„ํ• ํ•ด์„œ ContourEdgeProc์„ ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœํ•ด์คŒ.



๊ฐœ๋…์€ ์–ด๋ ต์ง€ ์•Š์€๋ฐ, ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•ด๋‘๋Š”๊ฒŒ ์—„์ฒญ ํ—ท๊ฐˆ๋ฆผ.


์˜ˆ๋ฅผ๋“ค์–ด x๋ฐฉํ–ฅ์œผ๋กœ ๋…ธ๋“œ1์™€ ๋…ธ๋“œ2๊ฐ€ ๋งŒ๋‚˜์„œ ๋ฉด์ด ์ƒ๊ฒผ์„ ๋•Œ,


๋…ธ๋“œ1์˜ ์ž์‹๋…ธ๋“œa๊ณผ ๋…ธ๋“œ2์˜ ์ž์‹๋…ธ๋“œb ์‚ฌ์ด์—์„œ ๋ฉด์ด ๋ฐœ์ƒํ•˜๊ณ ,


๋…ธ๋“œ1์˜ ์ž์‹๋…ธ๋“œc๊ณผ ๋…ธ๋“œ2์˜ ์ž์‹๋…ธ๋“œd ์‚ฌ์ด์—์„œ ๋ฉด์ด ๋ฐœ์ƒํ•˜๊ณ ,


๋…ธ๋“œ1์˜ ์ž์‹๋…ธ๋“œe๊ณผ ๋…ธ๋“œ2์˜ ์ž์‹๋…ธ๋“œf ์‚ฌ์ด์—์„œ ๋ฉด์ด ๋ฐœ์ƒํ•˜๊ณ ,


๋…ธ๋“œ1์˜ ์ž์‹๋…ธ๋“œg๊ณผ ๋…ธ๋“œ2์˜ ์ž์‹๋…ธ๋“œh ์‚ฌ์ด์—์„œ ๋ฉด์ด ๋ฐœ์ƒํ•˜๋Š” ๋“ฑ์˜ ์ˆซ์ž๋ฅผ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•ด๋‘ฌ์•ผ ํ•จ.


์™œ๋ƒ๋ฉด ํ•ญ์ƒ ์ •ํ•ด์ง„ ๊ฐ’๋“ค์ด๋‹ˆ๊น. ๊ทธ๊ฒŒ ๊นƒํ—™ ์ฝ”๋“œ ์œ„์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์ž„.



ํ•œ๋™์•ˆ ์˜ฅํŠธ๋ฆฌ ๊ตฌ์กฐ ์งœ๋‹ค๊ฐ€, ๋„์ €ํžˆ ์˜ฅํŠธ๋ฆฌ ์œ„์—์„œ ๋ฉ”์‰ฌ๋ฅผ ๋งŒ๋“ค ์ž์‹ ์ด ์—†์–ด์„œ ๋ฏธ๋ฃจ๋‹ค๊ฐ€, ์˜ค๋Š˜ ๋ˆˆ ๋”ฑ ๊ฐ๊ณ  ๊ตฌํ˜„ํ–ˆ์Œ.


์†”์งํžˆ ์ €๊ธฐ ์œ„์— ๋ฐ์ดํ„ฐํ…Œ์ด๋ธ”์„ ์ดํ•ดํ•˜๋Š”๊ฑด ๋ง๋„ ์•ˆ๋˜๊ณ , ๋‚ด๊ฐ€ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ํ–ˆ์Œ.


์œ— ์ฝ”๋“œ๋ž‘ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋…ธ๋“œ ์ธ๋ฑ์Šค ์ˆœ์„œ๊ฐ€ ๋‹ฌ๋ผ์„œ ์ „๋ถ€ ๋จธ๋ฆฟ์†์— ๊ทธ๋ ค๊ฐ€๋ฉฐ ์ ์šฉํ•จ.




viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec83fa11d0283146e1de228a7923f189a7bc559b247e68c18a0d5859f940d14305a69efcdac8c5cf14fca0cb4d9bc9d0df2280ea11f243214568

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec83fa11d0283146e1de228a7923f189a7bc559b247e68c18a0d5859f940d14305a69efcdac8c5cf14fca0cb4d9bce828c7385ba47a04395b859



์ด์ œ ์ด ๋ฐฉ๋ฒ• ๋ง๊ณ  ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์œผ๋กœ ๋ชจ์„œ๋ฆฌ๋ฅผ ์ˆœํšŒํ•ด๋ณผ ์˜ˆ์ •์ž„.


๋ชจ๋“  ๋ชจ์„œ๋ฆฌ๋ฅผ ์ˆœํšŒํ•  ํ•„์š” ์—†์ด, ํ•œ์ชฝ ๊ผญ์ง“์ ์ด ๊ณต๊ธฐ์ด๊ณ , ๋ฐ˜๋Œ€์ชฝ ๊ผญ์ง“์ ์ด ๋•…์ผ ๋•Œ, ๊ทธ ๋ชจ์„œ๋ฆฌ๋“ค๋งŒ ์ˆœํšŒํ•˜๋ฉด ๋˜๋Š”๋ฐ, ์ด ๋ชจ์„œ๋ฆฌ๋“ค์€,


์ฒ˜์Œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฑ„์›Œ๋„ฃ์œผ๋ฉด์„œ ๊ตฌํ•ด๋‘˜ ์ˆ˜๊ฐ€ ์žˆ์Œ. ์ด ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์„๊ฒƒ ๊ฐ™์•„์„œ ๋ณด๋ฅ˜ํ–ˆ์—ˆ๋Š”๋ฐ, ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋  ์ง€ ๋ฐฉํ–ฅ์ด ๋ณด์ž„.


์ผ๋‹จ ํ˜„์žฌ ๊ตฌํ˜„ํ•œ ๋ฐฉ์‹๋„ 7ms๋กœ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด๊ธด ํ•œ๋ฐ ๋ญ๊ฐ€ ๋” ๋น ๋ฅผ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์Œ.




์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ํฌ๋ฐ•ํ•ด์„œ ํž˜๋“ฌ.


์™œ ๋ณต์…€ ์•„๋ฌด๋„ ์•ˆํ•˜์ง€