RedGPU API - v3.0.0-Alpha
    Preparing search index...

    Class View2D

    View2D 클래스는 2D 렌더링을 위한 뷰 클래스입니다. View3D를 확장하며, 내부적으로 Camera2D를 사용하여 2D 환경에 최적화된 시점을 제공합니다.

    이 클래스는 AView를 기반으로 하는 View3D를 상속하며, RedGPU의 2D 시각화 및 UI 구성에 사용됩니다.

    const scene = new RedGPU.Display.Scene();
    const view = new RedGPU.Display.View2D(redGPUContext, scene);
    redGPUContext.addView(view);

    아래는 View2D의 구조와 동작을 이해하는 데 도움이 되는 추가 샘플 예제 목록입니다.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    onResize: (width: number, height: number) => void = null

    뷰 크기 변경 시 호출되는 콜백입니다.

    Accessors

    • get axis(): DrawDebuggerAxis

      디버깅용 축 객체입니다.

      Returns DrawDebuggerAxis

    • set axis(value: boolean | DrawDebuggerAxis): void

      디버깅용 축을 설정합니다. true면 자동 생성, false면 제거, 또는 DrawDebuggerAxis 인스턴스를 직접 설정할 수 있습니다.

      Parameters

      • value: boolean | DrawDebuggerAxis

        boolean 또는 DrawDebuggerAxis 인스턴스

      Returns void

    • get distanceCulling(): number

      거리 기반 Culling의 기준 거리입니다.

      Returns number

    • set distanceCulling(value: number): void

      거리 기반 Culling의 기준 거리를 설정합니다.

      Parameters

      • value: number

        거리 값

      Returns void

    • get frustumPlanes(): number[][]

      현재 프로젝션 및 카메라 모델 행렬을 기반으로 뷰 프러스텀 평면을 계산하여 반환합니다. AController 인스턴스 사용 시 내부 카메라의 modelMatrix를 사용합니다.

      Returns number[][]

      프러스텀 평면 배열

    • get fxaa(): FXAA

      FXAA 후처리 효과 객체입니다. 요청 시 자동 생성됩니다.

      Returns FXAA

    • get grid(): DrawDebuggerGrid

      디버깅용 그리드 객체입니다.

      Returns DrawDebuggerGrid

    • set grid(value: boolean | DrawDebuggerGrid): void

      디버깅용 그리드를 설정합니다. true면 자동 생성, false면 제거, 또는 DrawDebuggerGrid 인스턴스를 직접 설정할 수 있습니다.

      Parameters

      • value: boolean | DrawDebuggerGrid

        boolean 또는 DrawDebuggerGrid 인스턴스

      Returns void

    • get height(): string | number

      뷰의 높이 값을 반환합니다 (픽셀 또는 퍼센트 문자열).

      Returns string | number

    • set height(value: string | number): void

      뷰의 높이를 설정합니다. 내부적으로 setSize를 호출합니다.

      Parameters

      • value: string | number

      Returns void

    • get ibl(): IBL

      IBL(이미지 기반 조명) 설정을 가져옵니다.

      Returns IBL

      IBL 인스턴스

    • set ibl(value: IBL): void

      IBL(이미지 기반 조명) 설정을 설정합니다.

      Parameters

      • value: IBL

        설정할 IBL 인스턴스

      Returns void

    • get jitterOffset(): [number, number]

      현재 적용된 지터 오프셋 [offsetX, offsetY]를 반환합니다.

      Returns [number, number]

    • get name(): string

      뷰의 이름입니다. 지정하지 않으면 자동으로 인스턴스 ID 기반 이름이 생성됩니다.

      Returns string

    • set name(value: string): void

      뷰의 이름을 설정합니다.

      Parameters

      • value: string

        설정할 이름 문자열

      Returns void

    • get noneJitterProjectionMatrix(): mat4

      지터가 적용되지 않은 원본 프로젝션 행렬을 계산하여 반환합니다. Orthographic, Camera2D, Perspective 각각의 방식으로 행렬을 구성합니다.

      Returns mat4

    • get passLightClustersBound(): PassClusterLightBound

      클러스터 라이트 경계 패스를 가져옵니다.

      Returns PassClusterLightBound

      PassClusterLightBound 인스턴스

    • get pixelRectArray(): [number, number, number, number]

      픽셀 단위 사각형 배열을 반환합니다. [x, y, width, height]

      Returns [number, number, number, number]

    • get pixelRectObject(): { height: number; width: number; x: number; y: number }

      픽셀 단위 사각형을 객체 형태로 반환합니다.

      Returns { height: number; width: number; x: number; y: number }

    • get projectionMatrix(): mat4

      현재 프로젝션 행렬(지터 적용 여부를 반영)을 반환합니다. TAA 사용 시 PerspectiveCamera에 한해 지터 오프셋을 적용합니다.

      Returns mat4

    • get screenRectObject(): { height: number; width: number; x: number; y: number }

      스크린 기준 사각형을 반환합니다 (devicePixelRatio로 나눔).

      Returns { height: number; width: number; x: number; y: number }

    • get skybox(): SkyBox

      스카이박스를 가져옵니다.

      Returns SkyBox

      SkyBox 인스턴스

    • set skybox(value: SkyBox): void

      스카이박스를 설정합니다. 이전 텍스처의 리소스 상태를 관리하고 새 텍스처로 교체합니다.

      Parameters

      • value: SkyBox

        설정할 SkyBox 인스턴스

      Returns void

    • get systemUniform_Vertex_StructInfo(): any

      정점 셰이더용 시스템 유니폼 구조 정보를 가져옵니다.

      Returns any

      유니폼 구조 정보 객체

    • get systemUniform_Vertex_UniformBindGroup(): GPUBindGroup

      정점 셰이더 시스템 유니폼용 GPU 바인드 그룹을 가져옵니다.

      Returns GPUBindGroup

      정점 유니폼용 GPUBindGroup

    • get useDistanceCulling(): boolean

      거리 기반 Culling 사용 여부입니다.

      Returns boolean

    • set useDistanceCulling(value: boolean): void

      거리 기반 Culling 사용 여부를 설정합니다.

      Parameters

      • value: boolean

        true면 사용, false면 비활성화

      Returns void

    • get useFrustumCulling(): boolean

      Frustum Culling 사용 여부입니다.

      Returns boolean

    • set useFrustumCulling(value: boolean): void

      Frustum Culling 사용 여부를 설정합니다.

      Parameters

      • value: boolean

        true면 사용, false면 비활성화

      Returns void

    • get width(): string | number

      뷰의 너비 값을 반환합니다 (픽셀 또는 퍼센트 문자열).

      Returns string | number

    • set width(value: string | number): void

      뷰의 너비를 설정합니다. 내부적으로 setSize를 호출합니다.

      Parameters

      • value: string | number

      Returns void

    • get x(): string | number

      뷰의 X 위치 값을 반환합니다 (픽셀 또는 퍼센트 문자열).

      Returns string | number

    • set x(value: string | number): void

      뷰의 X 위치를 설정합니다. 내부적으로 setPosition을 호출합니다.

      Parameters

      • value: string | number

      Returns void

    • get y(): string | number

      뷰의 Y 위치 값을 반환합니다 (픽셀 또는 퍼센트 문자열).

      Returns string | number

    • set y(value: string | number): void

      뷰의 Y 위치를 설정합니다. 내부적으로 setPosition을 호출합니다.

      Parameters

      • value: string | number

      Returns void

    Methods

    • 화면 좌표를 월드 좌표로 변환합니다.

      Parameters

      • screenX: number

        화면 X 좌표

      • screenY: number

        화면 Y 좌표

      Returns number[]

      변환된 월드 좌표

    • TAA 적용을 위한 지터 오프셋을 설정합니다.

      Parameters

      • offsetX: number

        X축 지터 오프셋 (정규화된 값)

      • offsetY: number

        Y축 지터 오프셋 (정규화된 값)

      Returns void

    • 뷰의 위치를 설정하고 내부 픽셀 사각형을 업데이트합니다. 입력 값은 픽셀 또는 퍼센트 문자열을 허용합니다.

      Parameters

      • Optionalx: string | number = ...

        X 위치 (픽셀 또는 퍼센트)

      • Optionaly: string | number = ...

        Y 위치 (픽셀 또는 퍼센트)

      Returns void

    • 뷰의 크기를 설정하고 내부 픽셀 사각형을 업데이트합니다. 입력 값은 픽셀 또는 퍼센트 문자열을 허용합니다. onResize 콜백이 설정되어 있으면 호출합니다.

      Parameters

      • Optionalw: string | number = ...

        너비 (픽셀 또는 퍼센트)

      • Optionalh: string | number = ...

        높이 (픽셀 또는 퍼센트)

      Returns void

    • 뷰를 업데이트하고 렌더링 준비를 수행합니다. 유니폼 데이터 업데이트, 바인드 그룹 생성, 클러스터 라이트 계산을 처리합니다.

      Parameters

      • view: View3D

        업데이트할 View3D 인스턴스

      • shadowRender: boolean = false

        그림자 렌더링 여부 (기본값: false)

      • calcPointLightCluster: boolean = false

        포인트 라이트 클러스터 계산 여부 (기본값: false)

      • OptionalrenderPath1ResultTextureView: GPUTextureView

        렌더 패스 1 결과 텍스처 뷰 (선택사항)

      Returns void