3줄요약 마크는 새로운 프레임을 그릴때 픽셀 색상을 초기화하는 것이 아니라, 픽셀의 화면에 그려질 우선순위 값만 맨 뒤로 보내버린다.(최적화를 위하여) 리펙에서는 title screen에 들어갈 png파일을 투명으로 대체한 것으로 추정되고, 그렇다면 새로이 갱신되는 픽셀이 없는 부분이 생기며 이 경우 가장 마지막에 렌더링한 것을 유지한다. 영상에서 메인화면이 아닐때 메인화면에 있는 렐름버튼 오른쪽에 아이콘이 렌더링은 되는데, 업데이트가 안되는 것도 비슷한 이유이다. 상세한 설명 =================== 마크 모드 만들때 얻은 잡지식을 바탕으로 간단하게 설명해보자면, (해당 모든 내용은 yarn mapping을 기준으로 디컴파일된 정보를 포함하고 있으며 버전은 1.18.2입니다. 1.17 이후의 버전은 대체로 느낌이 비슷하나 최신버전에서는 다소 차이가 있을 수 있습니다. 1.16.5까지는 이하 내용과 많이 다를 수 있습니다.) 1. 마인크래프트의 기본 렌더링 함수는 net/minecraft/client/render/GameRenderer;render(FLZ)V 에 위치해있습니다. 2. 이 함수의 내부에서는 화면을 지우는 기능도 수행합니다.(Fabric API의 기본 API에도 관련 Mixin을 통한 Event가 있으니 이거랑 glGetPixelv였나 암튼 현재 렌더링된 픽셀 가져오는걸로 확인해보시면 될듯여) 해당 함수 내부에서 호출하는 com/mojang/blaze3d/systems/RenderSystem;clear(II)V 는 내부적으로 lwjgl의 glClear call을 수행하며 여기서 사용하는 mask 256을 활용하여 이 시점에서 depth buffer를 초기화하는 것을 알 수 있습니다. 이 정보는 현재 들어오는 텍스쳐 등등의 z좌표(화면에서 렌더링될 우선순위; 마크의 z좌표랑 전혀 다른 시스템)를 담고있으며 이를 초기화함으로 써 기존에 마지막으로 렌더링된 모든 데이터들은 화면 뒤쪽에 깔리게 됩니다. 3. 화면을 열거나, 월드 렌더링을 수행하는 등의 작업을 하면 위의 GameRenderer;render을 통해서 알 수 있듯이 world render call과 current screen render call을 진행하게 되며, 여기에서 새로운 depth buffer에다가 데이터를 작성하는 방식으로 새로운 것이 현재 화면 위에 덮어씌워지게 됩니다. 4. 만약에 이미지가 투명인 것이 들어온다면 기존 color buffer은 갱신되지 않으며, 그 경우 기존의 값을 유지하게 됩니다.(가장 마지막에 새롭게 렌더링된 값 유지) 그렇기 때문에 TitleScreen이 currentScreen일 때만 업데이트 되는 렐름버튼 오른쪽에 있는 아이콘이 업데이트가 안되는 이유도 이 color buffer가 마지막 값이 그냥 유지되기 때문이라고 생각해도 됩니다. 번외: 화면에 아무것도 없어도 해당 위치를 클릭했을때 버튼이 눌리는 이유는, 마인크래프트의 인풋 시스템은 렌더링된 이미지가 아닌, 특정 영역에 대하여 데이터를 핸들합니다. (net/minecraft/client/gui/screen/Screen;mouseClicked(DDI)Z 는 화면의 렌더링과 완전히 독립된 위치에서 동작합니다, net/minecraft/client/util/InputUtil;setKeyboardCallbacks(J...)V 참고) ++ 굳이 화면을 완전히 지워버리고 싶으신분은 모드에서 mixin 허용 후 @Mixin(GameRenderer.class) public class GameRendererMixin { @ModifyConstant(method = "render", constant = @Constant(intValue = 256)) private int clearRedirect(int constant) { RenderSystem.clear(GL32.GL_DEPTH_BUFFER_BIT, false); return GL32.GL_COLOR_BUFFER_BIT; } } 이 코드 넣으시면 됩니다. 예전에 다른 유튜버분 컨텐츠만들때 한참 고생한적 있어서 ㅋㅋㅋ... 작년에 발생한 문제지만 아직도 기억나요
마인크래프트에서 메뉴를 띄우는 방식이 ESC와 메인메뉴 등등이 비슷해서 화면이 저장되는 것처럼 보일거에요. 실제로 싱글플레이에서 esc를 누르면 전체 월드가 일시정지가 된것처럼 보이는데, 로그상에는 월드 데이터를 그 상태 그대로 저장을 합니다. 설정스크린을 띄우는 것과 유사하게 메인메뉴도 메인메뉴스크린이 따로 존재해서 월드에서 나가는 버튼을 누르면 설정스크린을 띄우듯이 메인메뉴스크린을 띄워버립니다. 그와 동시에 월드는 저장되고, 포토샵 등의 레이어를 올리듯이 메인메뉴가 보이게 됩니다 . . . 이걸 어떻게 아냐구요? 저도 알고 싶지 않았습니다
3줄요약
마크는 새로운 프레임을 그릴때 픽셀 색상을 초기화하는 것이 아니라, 픽셀의 화면에 그려질 우선순위 값만 맨 뒤로 보내버린다.(최적화를 위하여)
리펙에서는 title screen에 들어갈 png파일을 투명으로 대체한 것으로 추정되고, 그렇다면 새로이 갱신되는 픽셀이 없는 부분이 생기며 이 경우 가장 마지막에 렌더링한 것을 유지한다.
영상에서 메인화면이 아닐때 메인화면에 있는 렐름버튼 오른쪽에 아이콘이 렌더링은 되는데, 업데이트가 안되는 것도 비슷한 이유이다.
상세한 설명 ===================
마크 모드 만들때 얻은 잡지식을 바탕으로 간단하게 설명해보자면,
(해당 모든 내용은 yarn mapping을 기준으로 디컴파일된 정보를 포함하고 있으며 버전은 1.18.2입니다. 1.17 이후의 버전은 대체로 느낌이 비슷하나 최신버전에서는 다소 차이가 있을 수 있습니다. 1.16.5까지는 이하 내용과 많이 다를 수 있습니다.)
1. 마인크래프트의 기본 렌더링 함수는 net/minecraft/client/render/GameRenderer;render(FLZ)V 에 위치해있습니다.
2. 이 함수의 내부에서는 화면을 지우는 기능도 수행합니다.(Fabric API의 기본 API에도 관련 Mixin을 통한 Event가 있으니 이거랑 glGetPixelv였나 암튼 현재 렌더링된 픽셀 가져오는걸로 확인해보시면 될듯여) 해당 함수 내부에서 호출하는 com/mojang/blaze3d/systems/RenderSystem;clear(II)V 는 내부적으로 lwjgl의 glClear call을 수행하며 여기서 사용하는 mask 256을 활용하여 이 시점에서 depth buffer를 초기화하는 것을 알 수 있습니다. 이 정보는 현재 들어오는 텍스쳐 등등의 z좌표(화면에서 렌더링될 우선순위; 마크의 z좌표랑 전혀 다른 시스템)를 담고있으며 이를 초기화함으로 써 기존에 마지막으로 렌더링된 모든 데이터들은 화면 뒤쪽에 깔리게 됩니다.
3. 화면을 열거나, 월드 렌더링을 수행하는 등의 작업을 하면 위의 GameRenderer;render을 통해서 알 수 있듯이 world render call과 current screen render call을 진행하게 되며, 여기에서 새로운 depth buffer에다가 데이터를 작성하는 방식으로 새로운 것이 현재 화면 위에 덮어씌워지게 됩니다.
4. 만약에 이미지가 투명인 것이 들어온다면 기존 color buffer은 갱신되지 않으며, 그 경우 기존의 값을 유지하게 됩니다.(가장 마지막에 새롭게 렌더링된 값 유지) 그렇기 때문에 TitleScreen이 currentScreen일 때만 업데이트 되는 렐름버튼 오른쪽에 있는 아이콘이 업데이트가 안되는 이유도 이 color buffer가 마지막 값이 그냥 유지되기 때문이라고 생각해도 됩니다.
번외: 화면에 아무것도 없어도 해당 위치를 클릭했을때 버튼이 눌리는 이유는, 마인크래프트의 인풋 시스템은 렌더링된 이미지가 아닌, 특정 영역에 대하여 데이터를 핸들합니다. (net/minecraft/client/gui/screen/Screen;mouseClicked(DDI)Z 는 화면의 렌더링과 완전히 독립된 위치에서 동작합니다, net/minecraft/client/util/InputUtil;setKeyboardCallbacks(J...)V 참고)
++ 굳이 화면을 완전히 지워버리고 싶으신분은 모드에서 mixin 허용 후
@Mixin(GameRenderer.class)
public class GameRendererMixin {
@ModifyConstant(method = "render", constant = @Constant(intValue = 256))
private int clearRedirect(int constant) {
RenderSystem.clear(GL32.GL_DEPTH_BUFFER_BIT, false);
return GL32.GL_COLOR_BUFFER_BIT;
}
}
이 코드 넣으시면 됩니다.
예전에 다른 유튜버분 컨텐츠만들때 한참 고생한적 있어서 ㅋㅋㅋ... 작년에 발생한 문제지만 아직도 기억나요
마인크래프트가 최적화가 생각보다 많이 좋은편이네요
완벽한 3줄요약이었습니다
3문단 요약
제가 생각 하는 세줄은
ㅇ
ㅇ
ㅇ
이지만 이 세줄은
ㅇ
ㅇ
ㅇ
ㅇ
.
.
.
ㅇ
ㅇ
ㅇ
ㅇ
.
.
.
ㅇ
ㅇ
ㅇ
.
.
.
이군요…
그... "3줄"의 뜻을 모르시나요..?
이거...맴버들한테 리소스팩 끼우고 "지금 낀 리소스팩 빼봐"라고 하면 개재밌을듯
역시 그스그청
이거 히트네요
미친ㅋㅋㅋㅋㅋ 개천쟄ㅋㅋㅋㅋㅋ
팤:아니 이거 아무것도 안보이는데 어떻ㄱ[편 집 됨]
운:어! 나 이 리소스팩만 쓸거야!(체념)
꾸:뭐 이딴게 다있어↘️↗️
유:아닛...이거 뭐야 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
@@kinopico 아니 음성지원 ㅋ
운터팩 이래로 이렇게 괴랄한 리소스팩은 처음이군요...
와 ㅋㅋ
여기도 있으시네
운터팩 오랜만이다 ㅋㅋㅋ
아 운드스톤ㅋㅋㅋㅋ
돼지에 운 붙여서 큰일 한번 있었던 리소스팩 ㅋㅋ
0:50 마크 경력 이용해서 메인 화면으로 나간 거 진짜 대단하다 역시 마크 좀 해본 사람인가ㄷ;
저 리소스팩 되게 웃기네ㅋㅋㅋㅋㅋㅋㅋㅋ 진짜 없어도 너무 없는 거 아냐 원격 측정 데이터라는 것도 오늘 첨보네ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
리소스팩 하나 잘못눌렀다가 탈출맵 하나 해버린 ㅋㅋㅋㅋ
ㅋㅋ
아니 리소스팩 끼는 순간 블라인드 탈출맵 되는 거 겁나 웃기네ㅋㅋㅋㅋㅋㅋ
운터였으면 메인화면가는건 기막히게 잘했을듯
안해!
ㅋㅋㅋㅋㅋㅋ
마인크래프트에서 메뉴를 띄우는 방식이 ESC와 메인메뉴 등등이 비슷해서 화면이 저장되는 것처럼 보일거에요.
실제로 싱글플레이에서 esc를 누르면 전체 월드가 일시정지가 된것처럼 보이는데, 로그상에는 월드 데이터를 그 상태 그대로 저장을 합니다.
설정스크린을 띄우는 것과 유사하게 메인메뉴도 메인메뉴스크린이 따로 존재해서 월드에서 나가는 버튼을 누르면 설정스크린을 띄우듯이 메인메뉴스크린을 띄워버립니다.
그와 동시에 월드는 저장되고, 포토샵 등의 레이어를 올리듯이 메인메뉴가 보이게 됩니다
.
.
.
이걸 어떻게 아냐구요? 저도 알고 싶지 않았습니다
옹
굉장히 자세히 아시는 군뇨....
어쩌다가 이런걸 아시는겁니까...
설마 이거 만든사람?
ㅋㅋㅋㅋㅋ리소스팩도 어이없는데 어디가 어느버튼인지 찾아내시는 마플님도 ㄹㅈㄷ
리소스팩의 UI 모든 이미지를 다 투명하게 바꿔버리면 기존에 있던 프레임을 덮어씌울게 없어지니까 그대로 남는...건가
이거 다른분들한테도 리소스팩주고 풀어보라고 해보면 재밌을것 같아요
2:50 손가락이 약하시네요
textures 폴더에 gui폴더에 있는 모든 텍스처를 공백으로 만든거 같은데 참신하네 ㅋㅋㅋㅋㅋㅋ
글자도 안뜨는거 보면 폰트쪽도 박살내놨을 지도요ㅋㅋㅋㅋㅋ
하다하다 청자까지 신기한걸 들고와서 유튭각을 잡아주네....
마크 고수들만 킬 수 있는 리소스 팩 ㅋㅋㅋㅋ
이사람 진짜 알수록 이상한 사람이야 근데 재밌어 못빠져나오겠어
진짜 웃긴 사람이야
그에게는 *'짬'* 이 있다.
언어 다지운 리소스팩 보고 온사람 손
저요
저 OLED 모니터 사용하는중인데
oled 모니터 쓰는 사람에게 유용할수도 있네요
제대로 만들어지면..
흠...마인크래프트가 아니라
군요
1:56 2:00
맢님보다 고수 분들이 계셔!(맞죠?)
메인화면 돌아가도 전 화면이 유지되는 건 메인화면에 돌아가는 배경조차 완전 투명해서 렌더할 게 없어서 그렇게 되는 듯. 저 리소스팩 끼고 마크를 껐다 키면 마크 창 완전히 망가질 걸로 예상함.
오늘도잘보고갑니다
나중에 저거 맴버분들 시켜봅시다
이제는 기어코 리소스팩을 '플레이'해버리시는 마플님...
처음부터 심각하다
저런 리소스팩을 만드는 시청자들도 대단해 ㅋㅋㅋ
자 이제 이걸 멤버들에게 주어봅시다...ㅋㅋㅋ
원격 측정 데이터 눌러볼 일 없었는데 여기서 눌러보네 ㅋㅋㅋㅋㅋㅋ
새로운경험
뭔가 많이 없어진 마크 ㅋㅋㅋㅋ
이번 영상 역대급이다
진정한 탈출맵이네 ㅋㅋㅋㅋㅋㅋ
"마크 초보가 이름 맞추기 콘텐츠 할 때 유용한 리소스팩"
외워야 함ㅋㅋㅋ
심플 깔끔 세련 최첨단 울트라 슈퍼 짱짱
이끾끼
쓸데없는것조차 외워야만 플레이 가능
'백수만 플레이 가능'
너무 간단한 RPG같다 ㅋㅋㅋ
한국인이 싫어하는 리소스팩
모든사람이 싫어하는 리소스팩 ㄹㅇㅋㅋ
ㅋㅋㅋㅋㅋㅋㅋ 웃겨서 확실히 화가난다
라고 내 친한 동생이 달았습니다
잘못깔면 평생 못지우는 리소스팩
갑분 탈출맵 ㅋㅋㅋㅋㅋㅋㅋㅋ
감으로 눌려버리네ㅋㅋㅋㅋ
시공의 폭풍은 정말 최고야~!!
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
멀티에서 이 리팩을끼고 나가면 플레이어가 움지기는걸 볼 수 있을까?
가능 하겠음?
운터팩~~시즌 2?
또 맴버들 시키거나 시청자한테 뭔가 시켜서 컨텐츠를 만드실듯
화면 리프레시가 안되서 그런거 같은데
마인크래프트 창을 화면 밖에 드래그 했다가 다시 보면 아마 화면 밖에 나간 부분은 검은 화면으로 나올 수도
저 리소스팩 만든 사람은 도대체 무슨 사람일까 ㅋㅋ
버튼 막누르다 인터랙션 월드 삭제됬으면..ㅋㅋ
나중에 맴버에게 이 리소스팩 주면 ㅋㅋ
저거 보이는것도 얼마 없는데 맞추는 시청자들도 대단...
이것도 리소스팩이라고 부를 수 있는 것인가..ㅋㅋ
ㅋㅋㅋ 도대체 시청자분들도 얼마나 사과바이러스에 걸리셨으면 ㅋㅋㅋㅋㅋㅋㅋ
리소스팩 풀기도 어려워 ㅋㅋ
댓글도 사라졌나
진정한 쉐더우 복싱 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
이게 뭐야.. 혼미하다.. ㅋㅋㅋㅋㅋㅋㅋㅋ
단체로 리소스팩끼고 pvp하면 재밋을듯
잔상효과가 많이 오래 남네...
그스그팬.. 아니 무슨 저런 리소스팩을..
썸넬 보고 바로 3년전 만우절이 생각났다
ESC 개웃기네 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
마플 출첵 813일차
마크에서 리소스 부분 만큼을 다시 그리기 하는것 같은데 다시 그릴 칸이 없어서 전에 화면이 유지가 되나 보네요 ㅋㅋㅋㅋㅋㅋㅋ
이걸로 또 멤버 반응보기하면ㅋㅋ
방법
1. 내레이터를 켠다.
2. Tab키 눌러가면서 리소스팩을 찾는다.
3. 끝
내레이터를 못킵니다
ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 겁나참신하네
가장 확실한 방법은 나가서 리소스팩을 지운다
그 만우절때 생각하는...
근데 궁금해서 그런데 그냥 마크 파일에서 리소스팩 들어간 담에 리소스팩을 지우면 되는거 아닌가요?
싫다잖나 1:22
@@A.UGUST. 앗 그렇넹 죄송
우와ㅋㅋㅋㅋㅋ
리소스팩 빼세요!
오 깔끔한데? ㅋㅋ
영상이다!
이 리팩 어디서 받음?
여기서 왐마가 나왔네 ㅋㅋ
저런 리소스팩은 어캐 만드는 겨;;
마하
이거알고 Alt+F4 눌르고 1.12이하꺼 들어갔다 다시1.19로오면끝
걍 파일 지우면 되는데...
친구한테 써먹어야지
Its Don'ts too not
Lisosspack(Minecraft)
와!!! 마크다!!!
원격 측정데이터 저거 그냥
마크 로그 아님?
뭐지 이 밋밋함
아니렐름ㅋㅋㅋㅋㅋㅋ
네가 처음
이니 이건 _심하잖아_
마하
저걸 어케써 ㅋㅋㅋㅋ
결국엔 되돌림 ㅋㅋㅋㅋ
이거 진짜 바이러스 먹은거같네 ㅋㅋㅋㅋ
와우
ㅋㄹㅋㄹㄹㅋㅋ
이ㅓㄹ아ㅗ 여ㅔㅇㅇ
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
걍 파일에서 삭제하면 되는거 아님?
ㅋㅋ
ㅋㅋㅋㅋㅋㅋㅋ
어이쿠
와
menu