小编vdl*_*mrc的帖子

libGDX着色器坐标和摄像机位置

我正在使用libGDX,Tiled Map和Box2D制作平台游戏.我想应用一些着色器.

我想要一个坚持英雄的小插曲效果.对于晕影效果,我使用了本教程.我遇到的问题是:如果相机是固定的,我会得到我想要的.小插图坚持英雄.但是,如果相机移动,这发生在滚动平台游戏中,则晕影效果不会影响英雄.

这是一个说明我的问题的视频

看来我必须考虑相机位置来计算晕影效果的坐标,但我不知道怎么做.这是我用于插图的片段着色器:

varying vec4 v_color;   
varying vec2 v_texCoord0;

uniform vec2 u_resolution;
uniform float u_PosX, u_PosY;
uniform sampler2D u_sampler2D;  

const float outerRadius = 10, innerRadius = 1, intensity = .5;

void main(){
    vec4 color = texture2D(u_sampler2D, v_texCoord0) * v_color;

    vec2 relativePosition = gl_FragCoord.xy / u_resolution - vec2(u_PosX, u_PosY); //Position of the vignette
    relativePosition.x *= u_resolution.x / u_resolution.y;  //The vignette is a circle
    float len = length(relativePosition);
    float vignette = smoothstep(outerRadius, innerRadius, len);
    color.rgb = mix(color.rgb, color.rgb …
Run Code Online (Sandbox Code Playgroud)

java opengl shader camera libgdx

10
推荐指数
1
解决办法
510
查看次数

libGDX smooth FreeTypeFonts

我有问题用libGDX获得流畅的字体.我已经在这个网站上搜索了,在google上,我在这里这里尝试了这些问题的解决方案,但我的字体渲染效果一直很差.

例如: 在此输入图像描述

我尝试了几种方法,并且总是得到与上图所描述的完全相同的结果.

我用来生成字体的一种方法是:

public static BitmapFont generateFont(String fontPath, float size){
    FileHandle fontFile = Gdx.files.internal(fontPath);
    FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fontFile);
    FreeTypeFontGenerator.FreeTypeFontParameter params = new FreeTypeFontGenerator.FreeTypeFontParameter();
    params.genMipMaps = true;
    params.magFilter = TextureFilter.MipMapLinearNearest;
    params.minFilter = TextureFilter.MipMapLinearNearest;
    params.size = (int)Math.ceil(size);
    generator.scaleForPixelHeight((int)Math.ceil(size));
    BitmapFont f = generator.generateFont(params);
    return f;
}
Run Code Online (Sandbox Code Playgroud)

我尝试的另一个策略是在AssetManager中加载字体:

FileHandleResolver resolver = new InternalFileHandleResolver();
assetsManager.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver));
assetsManager.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver));

FreeTypeFontLoaderParameter size4Params = new FreeTypeFontLoaderParameter();
sizeParams.fontFileName = "Fonts/GOTHIC.TTF";       
sizeParams.fontParameters.size = (int)Math.ceil(2*Gdx.graphics.getWidth()/9);
sizeParams.fontParameters.genMipMaps = true;                    
sizeParams.fontParameters.minFilter = TextureFilter.MipMapLinearNearest;
sizeParams.fontParameters.magFilter …
Run Code Online (Sandbox Code Playgroud)

fonts filter freetype mipmaps libgdx

3
推荐指数
1
解决办法
2310
查看次数

libGDX 中的 2D 水效果

我正在使用 libGDX,我想重现我们可以在 Terraria 或 Go To Hell 等游戏中找到的水行为。水必须能够在重力作用下流动并使其形状适应容器的形状。

实际上我真的不知道要开始,因此我没有代码可以显示。我找到了一些关于水效果的教程,例如 Box2D 的反射或物理效果,但没有我想要的项目。如果你有一些线索那就太好了。

谢谢 !

java android libgdx

1
推荐指数
1
解决办法
1964
查看次数

标签 统计

libgdx ×3

java ×2

android ×1

camera ×1

filter ×1

fonts ×1

freetype ×1

mipmaps ×1

opengl ×1

shader ×1