EmcripTEN에 구축된 WebGL 적용을 노드로 설정합니다.js로 이동

EDIT: 일반적으로 Happy-DM이 필요하지 않습니다.https://github.com/okuoku/emtestapp/commit/a7dd4417b12d04db33f65f7666905ef6e91af740
마지막:
https://qiita.com/okuoku/items/60ea7bb9c20b38505531
지난번에 그림을 확인하지 못했는데 이번에 다 그렸어요.화면 표시와 입력 출력이 아직 없습니다.

OpenGL(0, 0)은 왼쪽 아래에 있기 때문에 프레임 버퍼를 단순히 복사하면 위아래로 반전됩니다.

잘 썼어요.(ImGUI의 EmcripTEN 샘플 사용https://github.com/ocornut/imgui/tree/1fb26d18c42cf90d4fb3f99da453912cccb6c3d3/examples/example_emscripten_opengl3
GiitHub에 코드 배치:
https://github.com/okuoku/emtestapp/tree/fe2592e3388b9355626bc0abbaf0d854aa077aeb

작전


작전은 지난번과 마찬가지야, 노드.JS가 DOM 설치 라이브러리를 읽고 fake 브라우저 환경에서 실행하도록 합니다.사용한 라이브러리도 지난번과 같습니다.
  • Happy-DOM ( happy-dom ) https://github.com/capricorn86/happy-dom
  • headless-gl ( gl ) https://github.com/stackgl/headless-gl
  • pngjs(캡처용)
  • Happy-DOM


    이번에 사용한 것은 지난번에 사용한 jsdom이 아니라 Happy-DIM이다.최근 해피돔<script>이 해시태그 내용eval 때문에 하게 됐는데 이번과 같은 목적으로 쓸 수 있지 않을까 싶습니다.
    https://github.com/capricorn86/happy-dom/issues/142
    ... 유감스럽게도 이것은 잘못된 것이다. 확실히eval하지만 NodeJS의 실행 상하문eval에서만 할 뿐 글로벌은 브라우저가 아니기 때문에 큰 의미가 없다.제이스덤이 이 일대를 잘 고려했기 때문에 좀 아쉽다.

    브라우저 스타일의 글로벌 제공

  • https://github.com/okuoku/emtestapp/blob/fe2592e3388b9355626bc0abbaf0d854aa077aeb/index.js#L162
  • 행운은 당연하다. eval 원래 노드였다.js환경eval 자체이기 때문에 global 교부 대상을 거칠 수 있습니다.따라서 이번에는 실행 스크립트의 시작var에 전역 변수로 추가하는 방법을 채택했다.

    감광


    지난번 Unity WebGL에 비하면 (EmcripTEN 자체가 NodeJS의 동작을 구상한 것) 정말 아무것도 안 하고 움직이기 쉬워(KONAMI)
    차라리 DOM 실장 안 해도 되겠지...

    좋은 웹페이지 즐겨찾기