소개
이 페이지에서

TypeScript에서 시작하는 셰이더 언어

TypeShade는 무엇을 바꾸나요?

TypeShade는 TypeScript 코드를 GPU에서 그대로 실행하는 런타임이 아닙니다. TypeScript의 익숙한 문법과 개발 도구를 출발점으로 삼고, GPU 프로그램에 필요한 타입과 의미론을 가진 별도의 컴파일 언어로 해석합니다.

use typeshade는 언어 경계입니다

"use typeshade"는 파일 수준에서 TypeShade 프로그램임을 선언합니다. 이 한 줄을 기준으로 컴파일러는 일반 애플리케이션 코드와 다른 TypeShade 셰이더 의미론을 적용합니다. 셰이더 파일은 이 지시문으로 시작합니다.

TypeScript에서 무엇이 그대로 익숙한가요?

함수, 타입 주석, 모듈, 표현식과 제어 흐름처럼 이미 알고 있는 언어 개념이 TypeShade의 작성 경험을 구성합니다. 하지만 TypeScript의 모든 기능을 그대로 실행할 수 있다는 뜻은 아닙니다. TypeShade는 GPU 실행 모델에 맞지 않는 기능을 제한하고, 차이가 있는 곳을 정적 진단으로 드러냅니다.

TypeScript와 TypeShade의 차이는 어디에 있나요?

TypeScript가 일반 프로그램의 타입과 실행을 설명한다면 TypeShade는 GPU 프로그램의 값, 벡터와 행렬, 리소스, 엔트리 포인트, 타깃별 제약까지 설명합니다. 같은 function이나 if를 보더라도 최종 프로그램은 GPU의 실행 모델을 따라야 합니다.

컴파일 결과는 무엇인가요?

TypeShade 소스는 하나의 중간 표현으로 내려간 뒤 호스트가 사용할 셰이더 소스로 출력됩니다. 현재 WebGPU에는 WGSL을, WebGL2에는 GLSL ES 3.00을 생성합니다. 호스트는 이 소스를 직접 작성한 WebGPU나 WebGL2 코드에 넘기거나, 컴파일된 프로그램을 프로그램 런타임 typeshade/runtime에 불러와 실행합니다.

어디서부터 배우면 되나요?

Quick start는 "use typeshade" 파일을 만드는 방법을 설명합니다. Language guide는 타입, 값과 표현식, 함수, 제어 흐름, GPU 실행 규칙을 다룹니다. 컴파일러의 검증 방식과 API는 Verification과 API reference에서 설명합니다.

TypeScript 지식이 출발점이 됩니다

TypeShade는 익숙한 언어 개념을 버리지 않습니다. 대신 GPU에서 의미가 달라지는 지점을 명확하게 구분합니다.

개념TypeScript에서 익숙한 부분TypeShade에서 추가되는 의미
함수함수 선언과 호출셰이더 함수와 엔트리 포인트 규칙이 추가됩니다.
타입타입 주석과 추론GPU-native 타입과 벡터·행렬 타입이 추가됩니다.
모듈import / export셰이더 파일은 자신이 가져오는 셰이더 파일과 함께 한 프로그램으로 컴파일됩니다.
제어 흐름if / for 등의 문법GPU 실행 모델과 타깃 제약을 만족해야 합니다.
실행JavaScript 런타임컴파일 결과를 WebGPU/WebGL2 호스트가 실행합니다.

TypeScript와 JavaScript를 함께 참고하세요

TypeShade 문서는 언어의 차이를 설명하는 데 집중합니다. 익숙하지 않은 TypeScript 또는 JavaScript 개념은 원문 문서를 함께 보면 더 빠르게 배울 수 있습니다.

이 페이지 편집 문제 보고