Manual

Manual

Shader Sampler Index 가져오기

이 문서는 shader_get_sampler_index 함수에 대해 설명합니다. 이 함수는 셰이더의 샘플러 핸들을 가져오는 데 사용됩니다. 셰이더 내에서 샘플러의 값을 직접 변경할 수 없기 때문에, 셰이더를 호출하기 전에 이 함수를 사용하여 샘플러 핸들을 설정해야 합니다. 함수 설명 * 함수 이름: shader_get_sampler_index * 용도: 셰이더 샘플러의 핸들을 가져오기 * 구문:

By 이재협/실장/시스템개발실/PHYSIA

Manual

셰이더 이름 가져오기

이 문서에서는 셰이더 리소스의 이름을 가져오는 방법에 대해 설명합니다. shader_get_name 함수를 사용하여 셰이더의 핸들을 제공하면 해당 셰이더의 이름을 문자열로 반환받을 수 있습니다. 함수 설명 구문 shader_get_name(shader); 인수 설명 인수 유형 설명 shader Shader 이름을 가져올 셰이더의 핸들입니다. 반환 값 * String: 요청한 셰이더의 이름을 반환합니다. 예제

By 이재협/실장/시스템개발실/PHYSIA

Manual

Corner ID 사용을 위한 셰이더 설정

이 문서는 셰이더에서 코너 ID를 사용하는 방법에 대해 설명합니다. 이 기능은 모든 셰이더에서 사용되는 전역 상태를 설정하며, 활성화되면 셰이더가 입력 색상 값에서 2비트를 "가로챕니다". 이 비트는 빨간색 색상 값의 가장 낮은 비트와 파란색 색상 값의 가장 낮은 비트에서 가져옵니다. 이렇게 가져온 값은 셰이더에서 복구하여 어떤 정점(즉, 어떤

By 이재협/실장/시스템개발실/PHYSIA

Manual

현재 셰이더 가져오기

이 문서는 현재 렌더링에 사용되고 있는 셰이더의 핸들을 반환하는 shader_current() 함수에 대해 설명합니다. 만약 사용 중인 셰이더가 없다면 -1을 반환합니다. 문법 shader_current(); 반환값 * 셰이더 자산 (Shader Asset) * -1 (셰이더가 할당되지 않은 경우) 예제 다음 코드는 현재 셰이더가 무엇인지 확인하고, 만약 -1이 반환되면 (즉, 사용 중인 셰이더가 없으면) sh_

By 이재협/실장/시스템개발실/PHYSIA

Manual

내장 셰이더 상수

OpenGL ES 셰이딩 언어(GLSL ES) 참조 페이지에 정의된 셰이더 함수 및 상수 외에도, GameMaker에 고유한 여러 내장 셰이더 상수가 있습니다. 아래 표에 나열된 이름은 다음을 나타냅니다: * #defines: GML 코드의 매크로와 유사하며 대문자로 작성됩니다. * Uniforms: gm_ 접두사로 시작합니다. 상수 다음 상수(즉, defines)는 셰이더 배열 uniform인 gm_Matrices를 사용할

By 이재협/실장/시스템개발실/PHYSIA

Manual

셰이더에 대한 간단한 해설

셰이더는 그래픽 카드가 화면에 렌더링하는 방식을 조작하는 매우 강력한 도구입니다. 이 작은 프로그램들은 그래픽 카드에서 직접 실행되기 때문에 처리 속도가 매우 빠르며, CPU의 자원을 게임 로직에 더 많이 할당할 수 있습니다. 셰이더를 만들기 위해서는 버텍스 셰이더와 프래그먼트 셰이더(픽셀 셰이더라고도 함)를 작성해야 합니다. 예를 들어, 그리려는 인스턴스의 버텍스 위치만

By 이재협/실장/시스템개발실/PHYSIA

Manual

셰이더 지원 여부 확인 함수

이 문서는 현재 타겟 플랫폼이 셰이더를 지원하는지 여부를 확인하는 함수에 대해 설명합니다. 이 함수는 셰이더를 지원하면 true를 반환하고, 지원하지 않으면 false를 반환합니다. 예를 들어, HTML5에서 WebGL이 없거나 구형 안드로이드 기기에서는 false가 반환됩니다. 안드로이드에서는 프로젝트에 셰이더 자산이 정의되지 않은 경우, 장치가 셰이더를 지원하더라도 항상 false를 반환합니다. 문법 shaders_are_supported(); 반환값

By 이재협/실장/시스템개발실/PHYSIA

Manual

Track Struct 설명서

Track Struct는 최상위 자산 트랙 또는 하위 트랙 매개변수 트랙으로 사용할 수 있으며, 트랙의 동작은 이름과 유형에 의해 정의됩니다. Track Struct는 sequence_track_new 함수를 사용하여 생성할 수 있으며, Sequence Instance Struct의 activeTracks 속성이나 Sequence Object Struct의 tracks 속성을 통해 검색할 수 있습니다. Track Struct의 속성 속성 이름 변수 유형

By 이재협/실장/시스템개발실/PHYSIA

Manual

시퀀스 오브젝트 구조체

시퀀스 오브젝트 구조체는 시퀀스 자산에서 가져온 구조체의 이름입니다. 런타임 동안 모든 시퀀스 데이터는 이 구조체에 저장되며, 방에서 생성된 시퀀스의 모든 요소가 참조합니다. 즉, 이 구조체의 변수(또는 그 내부의 중첩 구조체)가 수정되면 원래의 시퀀스가 변경되고, 기존의 시퀀스 요소에도 영향을 미칩니다. 이 구조체는 다음과 같은 변경 가능한 속성을 가집니다: 속성

By 이재협/실장/시스템개발실/PHYSIA

Manual

시퀀스 인스턴스 구조체

시퀀스는 방에 배치될 때 레이어의 요소로 배치되며, 이 요소는 시퀀스 인스턴스를 포함합니다. 이 시퀀스 인스턴스는 다음과 같은 속성을 가집니다. 변수 이름 타입 설명 sequence Sequence Object Struct 시퀀스 인스턴스가 생성된 시퀀스 객체 구조체의 ID입니다. 이 구조체를 가져오거나 설정하여 인스턴스가 참조하는 기본 시퀀스를 변경할 수 있습니다. headPosition Real 시퀀스 인스턴스의 현재

By 이재협/실장/시스템개발실/PHYSIA

Manual

키프레임 구조체

키프레임 구조체는 각 트랙에 하나 이상의 키프레임 구조체가 할당됩니다. 이 키프레임 구조체는 트랙 구조체의 keyframes 속성을 통해 접근할 수 있습니다. 각 키프레임 구조체는 다음과 같은 속성을 가집니다: 속성 이름 변수 타입 설명 frame Real 키프레임의 타임라인 상 위치(프레임 단위). 기본값은 0입니다. length Real 키프레임의 길이. 기본값은 1이며, 더 큰

By 이재협/실장/시스템개발실/PHYSIA

Manual

키프레임 데이터 구조체

키프레임 구조체를 정의할 때, 해당 구조체와 연결될 데이터를 정의해야 합니다. 이 데이터는 여러 채널로 구성되며, 각 채널은 단순히 키프레임 데이터 구조체입니다. 채널은 설정하는 키프레임 데이터의 트랙 유형에 따라 특정 데이터 유형을 가질 수 있습니다. 키프레임 데이터 구조체의 변수 변수명 타입 설명 channel Real 키프레임 데이터가 적용될 채널입니다. 0부터 시작하는 양의

By 이재협/실장/시스템개발실/PHYSIA