1. 프론트엔드 개발.
나는 jquery를 사용하지 않는다. 과거의 브라우저간의 호환성 문제는 다른 대체제가 많으며, jquery를 사용하기위해 복붙하는 것은 내가 원하는 방향이 아니다.
그래서 HTML5으로 Layout을 잡고, CSS3로 간단한 3D를 만들고 있다.
원래는 프론트 프레임워크를 사용하거나 Flutter를 사용하고 싶었지만 잠시 넣어두고 그 이유가 있다.
그래서 자바스크립트를 사용하며, 최대한 모던하게 사용하려고 하고 모듈을 지향하고 있다.
2. WebGL
webGL을 빠르게 배울 수는 없다. 그렇기에 WebGL에 대한 편리성을 제공하는 Three.js를 사용했다.
기본적인 설정부터 기초 개념을 훝고 3D 객체를 만들어서 Material을 입히고 이를 위해 3D 디자인에 대한 약간의 공부를 진행했다.
Texture의 종류들 언제 사용하고 어떨때 사용하는지 등등..
그리고 실제 sketchfeb에서 3D 모델을 받아 gltf, glb, fbx와 같은 다양한 모델 확장자를 로드하여 three.js
scene에 배치하는 것. 이후 특정 이벤트에 따라 카메라 무브 및 텍스처 변경, 애니메이션 등을 사용하고 있다.
여기서 가장 큰 문제는 이러한 단순한 모션 및 Material 변환 작업은 three.js 및 자바스크립트 애니메이션 혹은 GSAP 정도로 충분하지만 더 나아가 더 멋있는, 더 화려한 무언가를 할려면 Shader를 직접 작성해야 한다는 것이다.
3. GLSL
OpenGL Shader Language의 약자로 OpenGL을 표준으로 하는 shader 언어이다.
GPU가 병렬 계산을 한다는 점에서 많은 부분이 내가 다루던 언어와 많이 다르기 때문에 차근차근 공부하고 있다.
실제 몇가지 유용한 함수들의 작동원리 (수학) 및 type, 문법 등을 공부하고 있으며,
현재는 3D 그라데이션 까지 구현이 가능하다.
4. GLSL + Three.js
ShaderMaterial을 통해 vertextShader와 FragmentShader를 전달해 줄 수 있어 이를 통해 로드한 3D 모델의
Material을 Shader 코드를 작성해 ShaderMaterial 및 VertextShader를 활용하는 방안을 검토 중이고
간단하게 적용하고 있다.
5. 선형대수학
3D 컴퓨터 그래픽에서 선형대수학은 빠질 수 없는 요소이다.
대부분의 공식은 함수로 제공하는 경우가 많지만 3D를 2D 모니터에 활용한다는 것은 매우 어려운 작업인 것같다.
이를 위해 컴퓨터 그래픽 이론을 공부하고 선형대수학을 공부하고 있다.
실제로 이러한 공부는 3D 모델을 2D로 내가 원하는 형태로 구현하기 위해 많은 도움이 된다는 것이다.
그래서 내가 몇가지 모티브를 잡은 3D 인터랙션 사이트가 두 곳있고 이 정도를 구현할 수 있을 때
이 공부를 내려놓을 예정이다.
6. 방통대
현재 소프트웨어 방법론, 디지털논리회로를 거의 공부했다.
한번 더 복습해야 하는데 생각보다 현재 일을 위해 투자해야할 것이 많아 늦춰지고 있다.
이번 주말에 디지털 논리회로를 마무리하고, 빠르게 다른 과목을 공부할 것인데 조금 내게 익숙한 과목으로 고르려고 한다.
예전 알고리즘을 위해 공부했던 파이썬과 C언어에 대해 시작하고 이는 15 + 15 = 30 강의 - 일요일에 진행하는 6시간 - 매주 한강으로 계산하면
30강의 - 주말(토요일 제외)마다 6강의 - 매일 한 강의이면 주 마다 11강의 대략 3주 정도이다.
7. 독서
"오브젝트"라는 책을 현재 근 한달동안 출퇴근 버스에서 읽는데 400p정도 까지 읽는데 여러번 이해하기 위해 읽다보니 절반 정도가 남았다. 이것은 별도로 시간을 내기 어렵다고 판단해서 꾸준하게 버스에서 하루 출퇴근 2시간.
한 번 정리하고 나니까 큰틀이 잡혔다.
'방향성' 카테고리의 다른 글
AWS Summit Seoul (0) | 2023.04.17 |
---|---|
영상 (1) (0) | 2023.04.03 |
2월 중순 정리. (0) | 2023.02.18 |
2023년 1월 중간점검 (0) | 2023.01.18 |
1월 7일 시험 끝나고 진행할 것 (0) | 2022.12.30 |
댓글