#ShaderFX - Paperport

1 messages · Page 1 of 1 (latest)

nocturne gulch
#

사용 방법

  1. BetterHud 를 설치 후 서버를 최초 실행합니다.
  2. BetterHud의 config.yml 을 다음과 같이 변경합니다.
merge-other-folders:
- shaderfx_paperfork/output
merge-with-external-resources: true
  1. text.vsh 파일을 다운로드 합니다.
  2. 다운로드한 파일을 betterhud - shaders.text.vsh 에 덮어씌웁니다.
#

서버 관리자

권한 : permission : shaderfx.commands 가 있거나 OP
명령어 : shaderfx run username color(hex) fadein stay fadeout

fadein / stay / fadeout 은 틱단위입니다.

nocturne gulch
#

개발자

해당 프로젝트는 기존 BetterHud 가 수정하는 텍스트 vertex/fragment 쉐이더를 betterhud 의 api 를 통해 추가하는 플러그인입니다.

다른 플러그인에서 다음과 같은 코드를 통해 원하는 쉐이더 이펙트를 추가할 수 있습니다.

    public static final ShaderEffect FADE = ShaderEffects.register(ResourceLocation.fromNamespaceAndPath("shaderfx", "fade"), "color = vec4(vertexColor.rgb, vertexColor.a);");

해당 코드는 fragement 쉐이더에 다음과 같이 등록됩니다.

#version 150
#define HEIGHT_BIT 13
#define MAX_BIT 10
#define ADD_OFFSET 4095
#define DEFAULT_OFFSET 10
#define SHADER_VERSION 3
#moj_import <fog.glsl>
#if SHADER_VERSION >= 3
#moj_import <minecraft:dynamictransforms.glsl>
in float sphericalVertexDistance;in float cylindricalVertexDistance;
#else
uniform vec4 ColorModulator;uniform float FogStart;uniform float FogEnd;uniform vec4 FogColor;in float vertexDistance;
#endif
uniform sampler2D Sampler0;in vec4 vertexColor;in vec2 texCoord0;out vec4 fragColor;
#moj_import <minecraft:globals.glsl>
#moj_import <minecraft:shaderfx_utils.glsl>
flat in int effectId;

flat in int frames;
flat in int fps;
flat in float frameheight;

#moj_import <minecraft:shaderfx_utils.glsl>
#moj_import <minecraft:spikes.glsl>
#moj_import <minecraft:fractal1.glsl>
#moj_import <minecraft:fractal2.glsl>

void main() {vec4 texColor = texture(Sampler0, texCoord0);vec4 color = texColor * vertexColor * ColorModulator;vec2 centerUV = gl_FragCoord.xy / ScreenSize - 0.5;
float ratio = ScreenSize.y / ScreenSize.x;

if (effectId != 0) {
switch (effectId) {
 case 1: {
color = color = vec4(vertexColor.rgb, vertexColor.a); // here
} break;
}
}
...
#

서버가 실행될 때, 플러그인은 자동으로 쉐이더마다 할당된 ID 를 통해 font 를 만듭니다. 명령어를 실행할 때 title 로 해당 font 와 쉐이더 정보를 전달하여 클라이언트에서 쉐이더를 렌더링 할 수 있게 합니다.