til 2

[WebGL] WebGL과 Shader

최근 성냥퍼즐 프로젝트에서 사용한 Konva.js와 예전에 사용했던 Three.js 모두webGL을 쉽게 다룰 수 있도록 만들어진 라이브러리인데오늘은 웹에서 그래픽을 다루기 위해 설계된 WebGL에 대해서 공부해 보았습니다. 개인적인 공부를 위해 작성하는 블로그입니다. 혹시라도 잘못되거나 부족한 부분이 있다면 댓글로 알려주시면 감사하겠습니다. 💁🏻 WebGL이란 사실 래스터화 엔진이다.래스터화(rasterize)란 백터형태의 데이터를 2d 이미지(2차원 배열)로 변환하여 픽셀에 색상을 할당하는 과정을 말한다.우리가 보는 모니터화면은 GPU내부 메모리, framebuffer에 있는 2차원 배열의 픽셀정보를 가져와 보여주게 되는데 이때 래스터화에 대한 계산이 GPU를 통해 병렬적으로 처리된다. 이때 s..

개발/cg 2024.11.17

[JS] 불변성(Immutability)

오늘은 javascript에서의 원시타입과 객체타입이 뭔지, 리액트와 불변성에 대해서 공부해 봤다. 개인적인 공부를 위해 작성하는 블로그입니다. 혹시라도 잘못되거나 부족한 부분이 있다면 댓글로 알려주시면 감사하겠습니다.💁🏻 원시타입과 객체타입불변성을 이해하려면 먼저 자바스크립트에 원시타입과 객체타입을 알아야 한다.자바스크립트가 제공하는 7가지 데이터 타입은 크게 원시타입(primitive type)과 객체타입(Object/reference type)으로 구분할 수 있다. (객체타입에는 객체와 배열이 해당됨)원시타입인 score에 100이라는 값을 할당할 때 기존 주소에서 100을 할당받은 주소로 변경된다.원시타입: 한번 할당된 원시 값은 읽기 전용(read only)으로 변경할 수 없다.따라서 원시 ..

개발/JavaScript 2024.11.16