본문

글쓰기   목록 | 이전글 | 다음글

[유머] 이 코드를 짤때, 나와 신만이 이 코드를 알고있었다.jpg [13]


profile_image


profile_image (1249320)
55 | 13 | 12443 | 비추력 4917
프로필 열기/닫기
글쓰기
|
목록 | 이전글 | 다음글

댓글 | 13
1
 댓글


(IP보기클릭)104.28.***.***

BEST

(게임 역사에 한 획을 그은 게임 퀘이크 3의 실제 소스 코드) WTF?
26.02.18 05:11

(IP보기클릭)182.222.***.***

BEST
https://hyunlibro.com/posts/dev/fast-inverse-square-root-and-modern-methods/ 간단하게 요약하면, 정확한 값을 정석적으로 계산한다면 상당히 무거운 그래픽스 계산인데 전문적인 컴퓨터 전산학적 지식에 기반한 스마트한 잔꾀를 사용해서 몇배 빠르면서도 인간의 눈으론 거의 구분할 수 없는 실용적인 근사값을 계산해냄
26.02.18 06:36

(IP보기클릭)99.199.***.***

BEST
컴퓨터에서 숫자를 표기하는 방식 중에 하나가 플로팅 포인트 (부동소수점)인데 그걸 그 상태에서 강제로 "넌 이제부터 정수여"하고 나서 이상한 수치를 수식을 넣고 다시 부동소수점으로 이름을 바꾸니까 마법처럼 역제곱근이 적용된 부동소수점이 된 상황임 그러니까 유게식으로 비유하면 남자애 대려다가 "넌 이제 여자여" 해놓고 이것저것 한다음에 "너 그냥 다시 남자 해라" 했더니 갑자기 잘생긴 남자가 되는 말도 안되는 현상인데 이게 뚜껑 열어보니 실제로 과학적 근거가 있더라는 이야기
26.02.18 06:58

(IP보기클릭)99.238.***.***

BEST
/* 이제는 아무도 모른다 */
26.02.18 05:09

(IP보기클릭)110.9.***.***

BEST
실례가 안된다면 왜 옆에 사악한 플로팅 포인트와 왓더시바루가 있는지 물어봐도 될런지.....
26.02.18 06:29

(IP보기클릭)182.222.***.***

BEST
주석을 작성한 본인이 정확한 의미를 알겠지만 맥락적으로 해석을 해보자면 evil ~ 부분 : 일반적으로 사용되지 않는, 소위 '위험한' 코드임. 판타지적으로 표현하면 흑마법이라던지 마술적 금기랑 비슷한 느낌 wtf 부분 : 아마 동료가 달아놓은 주석 같은데 'ㅅㅂ 어케한거임??' 정도 느낌. 작성자 본인이 달았다면 '왠진 모르겠는데 이 숫자를 넣으니 됨' 에 가까울거 같고
26.02.18 06:49

(IP보기클릭)221.157.***.***

BEST
제곱근 구하는 방법 알지? 곱해보고 크네 줄여서 곱해보고 작네 자릿수 낮처서 곱해보고... 이건 여러번 해야하는데 저건 연산 몇번으로 근사치의 제곱근을 구한거 우리가 아는 일반적인 방법은 루프반복이 많아서 계산해야 할 데이터가 많으면 연산량도 기하급수적으로 늘어나는데 저 방법은 루프가 없어서 연산량이 엄청 작음 그래서 빠름
26.02.18 06:55

(IP보기클릭)99.238.***.***

BEST
/* 이제는 아무도 모른다 */
26.02.18 05:09

(IP보기클릭)104.28.***.***

BEST

(게임 역사에 한 획을 그은 게임 퀘이크 3의 실제 소스 코드) WTF?
26.02.18 05:11

(IP보기클릭)121.130.***.***

‎🏇
잘 몰라서 그러는데 쩌는거야??? | 26.02.18 06:26 | | |

(IP보기클릭)218.147.***.***

‎🏇
중간에 왓 더 퍽 뭔데 ㅋㅋ | 26.02.18 06:30 | | |

(IP보기클릭)182.222.***.***

BEST
사사십육
https://hyunlibro.com/posts/dev/fast-inverse-square-root-and-modern-methods/ 간단하게 요약하면, 정확한 값을 정석적으로 계산한다면 상당히 무거운 그래픽스 계산인데 전문적인 컴퓨터 전산학적 지식에 기반한 스마트한 잔꾀를 사용해서 몇배 빠르면서도 인간의 눈으론 거의 구분할 수 없는 실용적인 근사값을 계산해냄 | 26.02.18 06:36 | | |

(IP보기클릭)121.130.***.***

루리웹-2706108262
어렵네 ㅠㅠ | 26.02.18 06:37 | | |

(IP보기클릭)118.235.***.***

사사십육
공대생이나 개발자들 사이에서 전설처럼 내려오는 '고속 역제곱근(Fast Inverse Square Root)' 알고리즘에 대한 글이군요! 코딩을 전혀 모르셔도 이해할 수 있게, 이 기술이 왜 대단한 건지 핵심만 쏙쏙 뽑아 설명해 드릴게요. 1. 이게 대체 왜 필요한 건가요? 게임(특히 3D 게임)을 만들 때는 수만 개의 점과 빛의 방향을 계산해야 합니다. 이때 '역제곱근'(1 / \sqrt{x}) 이라는 계산이 엄청나게 많이 쓰여요. 문제: 컴퓨터에게 '나누기'와 '제곱근'은 계산하기 아주 까다롭고 시간이 오래 걸리는 작업입니다. 상황: 1990년대 사양 낮은 컴퓨터로 화려한 3D 게임(퀘이크 3)을 돌려야 하는데, 이 계산 때문에 게임이 버벅거리는 상황이었죠. 2. '마법' 같은 해결책 (비트 해킹) 글에서 설명하는 핵심은 **"정석대로 계산하지 말고, 야매(?)로 비슷하게 때려 맞추자!"**입니다. 첫 번째 마법: 신분을 위조하기 컴퓨터는 숫자 0.15625를 저장할 때 두 가지 방식으로 봅니다. 실수(Float): 소수점이 있는 복잡한 숫자. 정수(Int): 딱딱 떨어지는 숫자. 이 알고리즘은 실수인데 정수인 척 컴퓨터를 속입니다. (글의 evil floating point bit level hacking 부분) 이렇게 하면 복잡한 소수점 계산을 단순한 정수 뺄셈으로 바꿀 수 있거든요. 두 번째 마법: 마법의 숫자 0x5f3759df 개발자가 갑자기 어디선가 **0x5f3759df**라는 정체불명의 숫자를 가져와서 뺍니다. 이 숫자는 수학적으로 아주 정교하게 계산된 **'가장 정답에 가까운 지름길'**입니다. 이걸 쓰고 나면, 원래라면 한참 걸릴 계산이 단 한 줄 만에 **"대충 비슷한 정답"**으로 변합니다. 세 번째 마법: 살짝 다듬기 (뉴턴-랩슨법) 대충 맞춘 정답을 조금 더 정확하게 만드는 과정입니다. "완벽한 정답은 아니지만, 한 번 더 다듬어서 쓸만하게 만들자!"라는 단계죠. 3. 요약하자면 이렇습니다 옛날 방식: "정석대로 꼼꼼히 계산해!" → 너무 느림. 이 알고리즘: "실수를 정수로 속이고, 마법의 숫자를 써서 대충 정답 근처로 점프한 다음, 살짝 다듬어!" → 비정상적으로 빠름. 4. 지금도 쓰나요? 글의 뒷부분(Modern instruction) 내용인데요, 결론은 **"이제는 안 쓴다"**입니다. 요즘 컴퓨터(CPU) 안에는 아예 **이 계산만 전담하는 전용 부품(명령어)**이 박혀서 나옵니다. 옛날에 천재들이 머리 싸매고 만든 이 '마법의 공식'보다, 요즘 기계가 그냥 힘으로 밀어붙이는 게 더 빠르고 정확하기 때문이죠. 💡 한 | 26.02.18 06:54 | | |

(IP보기클릭)221.157.***.***

BEST
사사십육
제곱근 구하는 방법 알지? 곱해보고 크네 줄여서 곱해보고 작네 자릿수 낮처서 곱해보고... 이건 여러번 해야하는데 저건 연산 몇번으로 근사치의 제곱근을 구한거 우리가 아는 일반적인 방법은 루프반복이 많아서 계산해야 할 데이터가 많으면 연산량도 기하급수적으로 늘어나는데 저 방법은 루프가 없어서 연산량이 엄청 작음 그래서 빠름 | 26.02.18 06:55 | | |

(IP보기클릭)110.9.***.***

BEST
루리웹-2869167752
실례가 안된다면 왜 옆에 사악한 플로팅 포인트와 왓더시바루가 있는지 물어봐도 될런지..... | 26.02.18 06:29 | | |

(IP보기클릭)182.222.***.***

BEST
지나가던 팽귄
주석을 작성한 본인이 정확한 의미를 알겠지만 맥락적으로 해석을 해보자면 evil ~ 부분 : 일반적으로 사용되지 않는, 소위 '위험한' 코드임. 판타지적으로 표현하면 흑마법이라던지 마술적 금기랑 비슷한 느낌 wtf 부분 : 아마 동료가 달아놓은 주석 같은데 'ㅅㅂ 어케한거임??' 정도 느낌. 작성자 본인이 달았다면 '왠진 모르겠는데 이 숫자를 넣으니 됨' 에 가까울거 같고 | 26.02.18 06:49 | | |

(IP보기클릭)99.199.***.***

BEST
지나가던 팽귄
컴퓨터에서 숫자를 표기하는 방식 중에 하나가 플로팅 포인트 (부동소수점)인데 그걸 그 상태에서 강제로 "넌 이제부터 정수여"하고 나서 이상한 수치를 수식을 넣고 다시 부동소수점으로 이름을 바꾸니까 마법처럼 역제곱근이 적용된 부동소수점이 된 상황임 그러니까 유게식으로 비유하면 남자애 대려다가 "넌 이제 여자여" 해놓고 이것저것 한다음에 "너 그냥 다시 남자 해라" 했더니 갑자기 잘생긴 남자가 되는 말도 안되는 현상인데 이게 뚜껑 열어보니 실제로 과학적 근거가 있더라는 이야기 | 26.02.18 06:58 | | |

(IP보기클릭)182.222.***.***

이제는 ai만 안다
26.02.18 06:28

(IP보기클릭)223.39.***.***

아 완벽히 이해못했어!
26.02.18 07:35


1
 댓글




목록 | 이전글 | 다음글
X