본문

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

[유머] 프로글래머들을 실신시켰다는 전설의 고속 역제곱근 코드 [44]


profile_image


profile_image (5404813)
67 | 44 | 13205 | 비추력 819
프로필 열기/닫기
글쓰기
|
목록 | 이전글 | 다음글

댓글 | 44
1
 댓글


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

BEST

25.02.09 16:43

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

BEST
??? 나 겜 만들거니까 수학 안해도 됨 ㅋㅋ!
25.02.09 16:44

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

BEST

25.02.09 16:41

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

BEST
이과도 알아먹게 설명해 주시겠습니까?
25.02.09 16:46

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

BEST
그래서 프로 글래머들은 어디에 있죠
25.02.09 16:41

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

BEST

25.02.09 16:42

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

BEST
바카밧카!! 게시글 내용이 뭐길래 분석을 해달래? 내가 탐정이냐? 좀 더 구체적으로 말해봐! 👀🔍
25.02.09 16:46

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

BEST
그래서 프로 글래머들은 어디에 있죠
25.02.09 16:41

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

BEST

25.02.09 16:41

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

지라스

로마군이 출동했으니 안심하십시오 | 25.02.09 16:47 | | |

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

BEST

25.02.09 16:42

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

BEST

25.02.09 16:43

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

베니스가아니라베네치아
그거야 자연은 대화하지 않으니 뭐 ㅋㅋㅋㅋㅋㅋㅋ 우짤수 없지 | 25.02.09 16:49 | | |

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

한 50줄로 요약 가능한가요?
25.02.09 16:44

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

그래서 어케 함? 나만 이해 못하는거 아니지?
25.02.09 16:44

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

MikaAlice
컴퓨터 자료형을 이용한 트릭임. 컴퓨터는 어차피 모든 숫자를 2진법으로 근사한다는 점에 착안해서 애초에 2진법으로 표현하느라 이미 계산된 부분은 건너띄어버리고, 나머지 부분은 2진법으로 근사값을 구하게 하고 오류는 적당히 보정하는거. 총쏘는 와중 화면 픽셀단위로 RGB 따져가며 빛 계산이 이상하냐니 이딴 소리 할 플레이어는 없을테니 어차피 보는데 어색하지 않으면 장땡이니까. 물론 원리는 알겠는데 그래서 왜 저런지는 나도 모르겠다. 발상이 진짜 미친거 같아... | 25.02.09 16:59 | | |

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

yutu.be
지금은 하드웨어 성능이 좋아져서 오히려 이 코드 쓰지 마라고 들었던거 같은ㄷㄷ | 25.02.09 17:02 | | |

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

MikaAlice
저땐 퍼스널컴 시퓨의 실수형 자료 계산능력이 형편 없어서 표준 수학 라이브러리의 폴리필이 온갖 삽질을 했음. 예를들어 루트 계산해주는 명령어가 없는 시퓨를 위해 실수를 0이 될때까지 무작정 2로 나누어본다. 이딴식으로 구현하지. 그러니 당시에는 저게 대개의 경우 훨씬 빠른 코드였음. 근데 세월이 흐르며 고급 실수 계산 명령어들이 보편화 되면서 저게 오히려 더 느린 코드가 되어버림. 그 외에도 저 당시 게임들은 실수를 정수로 근사시켜서 계산하는 뻘짓을 많이 했음. 당연히 표준 수학라이브러리랑 호환이 안 되기 때문에, 자체 제작 수학 모듈을 따로 만들어야 했음. 심지어 3D 좌표도 그런 마법을 부려야 겨우 퍼스널컴에서 실시간으로 돌릴 수 있는 게임이 나왔지. 예를들어 스타크래프트랑 비슷한 시기에 나온 토탈어나힐레이션이라는 게임이 있는데 내부 물리가 3차원 좌표였고 그래픽도 맵이랑 스프라이트 제외하고 3D였거든? 근데 좌표를 죄다 정수로 근사시켜서 계산함. 예를 들어 각도는 0-2PI를 0~65535 이런식으로... 그래서 오늘날 퍼스널컴에서는 그냥 실수형 써서 대충 만든 게임보다 되려 굉장히 비효율적으로 느린 게임이 되었음. 저것도 마찬가지겠지. | 25.02.09 18:17 | | |

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

BEST
??? 나 겜 만들거니까 수학 안해도 됨 ㅋㅋ!
25.02.09 16:44

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


...
25.02.09 16:45

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

루리야! 이 게시글을 분석해줘
25.02.09 16:45

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

BEST
니가가라폭포
바카밧카!! 게시글 내용이 뭐길래 분석을 해달래? 내가 탐정이냐? 좀 더 구체적으로 말해봐! 👀🔍 | 25.02.09 16:46 | | |

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

그냥 글래머 짤 주세요
25.02.09 16:45

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

역시 최적화 하려면 극한의 수학이 필요해
25.02.09 16:45

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

BEST
이과도 알아먹게 설명해 주시겠습니까?
25.02.09 16:46

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

고기가 좋아
최적화 레이트레이싱 함수 | 25.02.09 16:47 | | |

삭제된 댓글입니다.

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

[삭제된 댓글의 댓글입니다.]
루리웹-4672534900
산셍님 제가 아는 한줄의 의미와 선생님이 아는 한줄의 의미가 조금 차이가 있는 것 같습니다. | 25.02.09 16:49 | | |

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

옛날에는 계산이 느리다고 C 코드 안에 인라인 어셈블리어를 삽입해서 계산만 빠르게 하는 경우가 있긴있었음.
25.02.09 16:46

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

저런 최적화 연구하고 적용하는 부분이 단순 코드싸개하고 프로그래머를 구분짓는 곳이지...
25.02.09 16:48

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

Seung2134
저런거 보면 난 영원히 코드싸개로 남을 듯 | 25.02.09 16:56 | | |

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

루리야! 언리얼엔진으로 만든 게임의 빛을 구현하는 함수 코드를 알려줘
25.02.09 16:48

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

루리웹-4324473838
버그걸렸냐 왜 안말해 | 25.02.09 16:49 | | |

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

루리웹-4324473838
바카밧카!! 네가 직접 찾아볼래? 하지만 굳이 알려주자면, 기본적인 방향광 코드는 이거야: ```cpp FDirectionalLightComponent* CreateDirectionalLight(AActor* Owner) { FDirectionalLightComponent* LightComponent = Owner->CreateComponent<FDirectionalLightComponent>(); if (LightComponent) { LightComponent->SetLightColor(FLinearColor::White); // 색상 설정 LightComponent->SetIntensity(1.0f); // 밝기 설정 LightComponent->SetCastShadows(true); // 그림자 생성 여부 // 방향 설정 등 추가 속성은 필요에 따라 조정 } return LightComponent; } ``` 점광이나 스포트라이트도 비슷한 방식으로, 타입만 바꿔줘. 네가 직접 좀 더 찾아보는 게 어때? 흥! 🌟💡 | 25.02.09 16:49 | | |

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

25.02.09 16:48

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

아 선생님 저 컴공갈꺼라구요 수학 안한다구요!!!
25.02.09 16:48

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

Redmario

| 25.02.09 16:49 | | |

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

낭심고양이
이 짤에서 한심한 것으로 나오던 애는 후에 개조 나오면서 지상 최강의 mg가 된다던ㅎㅎ | 25.02.09 17:04 | | |
파워링크 광고

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

25.02.09 16:49

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


25.02.09 16:49

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

말 그대로 깡으로 최적화 했다는거군 정말 무서운 사실이 아닐 수 없습니다
25.02.09 16:51

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

돌격강등하트!
요즘에 저러라 하면 에이 C8소리나오지 ㅋㅋㅋㅋㅋㅋㅋ | 25.02.09 16:51 | | |

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

돌격강등하트!
그래픽관련 최적화에선 비슷한거 해요 ㅋㅋㅋ | 25.02.09 16:56 | | |

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

이세계 세가사원
아 그건 그런데 처음부터 깡으로 저러진 않을꺼라 뭐 그런말 .. | 25.02.09 16:59 | | |

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

아 이해 못함..
25.02.09 16:52

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

첫짤부터 먼지 모르겠는데요 유아도 이해할수 있게 해달라구
25.02.09 16:56

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

25.02.09 17:00

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

내가 찾던 글래머 짤은 어딨죠?
25.02.09 17:00

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

정답! 제곱근 계산을 60hz 맞춰서 할 수 있는 사양을 최소사양으로 게임을 출시한다!
25.02.09 17:22

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

중간에 long으로 자료형 변환한게 log2 취한 거랑 같다고 하는 설명 찐빠가 있음
25.02.09 17:54

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


25.02.09 20:19

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

i를 y로 다운캐스팅한다음 역참조하는거 손실 안일어나나?
25.02.10 10:55


1
 댓글




목록 | 이전글 | 다음글
X