/** * WebGL 모듈 * WebGL 렌더링을 위한 유틸리티 및 도우미 클래스 내보내기 */ export type { BufferParams, VAOParams } from './types.js'; export { BufferHelper, VAOHelper } from './geometry.js'; export { ShaderProgram } from './shader.js'; export { TextureHelper } from './texture.js'; export { Renderer, PrimitiveType } from './renderer.js'; export { WebGLBufferType, WebGLBufferUsage } from '../types.js'; /** * WebGL 컨텍스트 속성 옵션 */ export interface WebGLContextOptions { /** 알파 채널 지원 */ alpha?: boolean; /** 앤티앨리어싱 지원 */ antialias?: boolean; /** 깊이 버퍼 지원 */ depth?: boolean; /** 스텐실 버퍼 지원 */ stencil?: boolean; /** 투명도 처리 */ premultipliedAlpha?: boolean; /** 보존 드로잉 버퍼 */ preserveDrawingBuffer?: boolean; /** 성능 vs 품질 */ powerPreference?: "default" | "high-performance" | "low-power"; } /** * WebGL 컨텍스트 생성 * @param canvas 캔버스 요소 * @param options 컨텍스트 옵션 * @param version 버전 (1 또는 2) * @returns WebGL 컨텍스트 또는 null */ export declare function createWebGLContext(canvas: HTMLCanvasElement | OffscreenCanvas, options?: WebGLContextOptions, version?: 1 | 2): WebGLRenderingContext | WebGL2RenderingContext | null; /** * WebGL 확장 로드 * @param gl WebGL 컨텍스트 * @param extensionName 확장 이름 * @returns 확장 객체 또는 null */ export declare function loadExtension(gl: WebGLRenderingContext | WebGL2RenderingContext, extensionName: string): any; /** * WebGL 버전 및 정보 가져오기 * @param gl WebGL 컨텍스트 * @returns WebGL 정보 객체 */ export declare function getWebGLInfo(gl: WebGLRenderingContext | WebGL2RenderingContext): { version: string; vendor: string; renderer: string; glslVersion: string; isWebGL2: boolean; maxTextureSize: number; };