Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<service
android:name="net.t106.sinkerglwallpaper.rendering.services.SinkerService"
android:name="net.t106.sinkerglwallpaper.rendering.services.AThingLeftBehindService"
android:label="@string/app_name"
android:permission="android.permission.BIND_WALLPAPER"
android:exported="true">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*/
public class BlendModeManager {

// Blend mode constants matching SinkerService.blend_type
// Blend mode constants matching AThingLeftBehindService.blend_type
public static final int BLEND_ADDITIVE = 0;
public static final int BLEND_MULTIPLICATIVE = 1;
public static final int BLEND_ALPHA = 2;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,12 +165,12 @@ public CompleteConfig(RotationConfig rotation, ColorConfig color,
}

// Predefined complete configurations
public static final CompleteConfig CENTER_GRAVEYARD = new CompleteConfig(
public static final CompleteConfig CENTER_GARLAND = new CompleteConfig(
RotationConfig.CENTER, ColorConfig.WHITE, TextureConfig.TEXTURE_0,
GeometryConfig.STANDARD_QUAD, BlendModeManager.BLEND_ADDITIVE
);

public static final CompleteConfig BACKGROUND_GRAVEYARD = new CompleteConfig(
public static final CompleteConfig BACKGROUND_GARLAND = new CompleteConfig(
RotationConfig.BACKGROUND, ColorConfig.REDDISH_BROWN, TextureConfig.TEXTURE_1,
GeometryConfig.LARGE_QUAD, BlendModeManager.BLEND_ADDITIVE
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
import net.t106.sinkerglwallpaper.opengl.utils.ShaderUtils;
import net.t106.sinkerglwallpaper.opengl.utils.BufferUtils;
import net.t106.sinkerglwallpaper.opengl.shaders.ShaderLoader;
import net.t106.sinkerglwallpaper.rendering.services.SinkerService;
import net.t106.sinkerglwallpaper.rendering.objects.Graveyard;
import net.t106.sinkerglwallpaper.rendering.services.AThingLeftBehindService;
import net.t106.sinkerglwallpaper.rendering.objects.Garland;

/**
* Base class for all filter objects
* Eliminates code duplication between LeftFilter and RightFilter
*/
public abstract class BaseFilter extends Graveyard {
public abstract class BaseFilter extends Garland {

protected RenderConfig.ColorConfig colorConfig;
protected RenderConfig.GeometryConfig geometryConfig;
Expand Down Expand Up @@ -47,14 +47,14 @@ private void setupGeometry() {
coords = geometryConfig.texCoords;

// Keep legacy buffer creation for compatibility
ab = SinkerService.makeFloatBuffer(apex);
cb = SinkerService.makeFloatBuffer(coords);
ab = AThingLeftBehindService.makeFloatBuffer(apex);
cb = AThingLeftBehindService.makeFloatBuffer(coords);
}

@Override
protected void createShaderProgram() {
// Use basic shader program for filters (no texture needed typically)
shaderProgram = ShaderLoader.Programs.createBasicProgram(SinkerService.getContext());
shaderProgram = ShaderLoader.Programs.createBasicProgram(AThingLeftBehindService.getContext());
}

@Override
Expand Down Expand Up @@ -111,7 +111,7 @@ public void sizechange(boolean smollflg) {
apex = geometryConfig.vertices;

// Update buffer
ab = SinkerService.makeFloatBuffer(apex);
ab = AThingLeftBehindService.makeFloatBuffer(apex);

// Recreate VAO with new vertex data
if (vao != 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import net.t106.sinkerglwallpaper.config.RenderConfig;
import net.t106.sinkerglwallpaper.config.BlendModeManager;
import net.t106.sinkerglwallpaper.rendering.services.SinkerService;
import net.t106.sinkerglwallpaper.rendering.services.AThingLeftBehindService;

/**
* Configurable filter class - replaces LeftFilter.java
Expand Down Expand Up @@ -38,10 +38,10 @@ public void Draw(float[] viewMatrix, float[] projectionMatrix) {
*/
private void updateFromUserSettings() {
// Update color from user settings
colorConfig = RenderConfig.ColorConfig.fromUserSettings(SinkerService.col);
colorConfig = RenderConfig.ColorConfig.fromUserSettings(AThingLeftBehindService.col);

// Update blend mode from user settings
blendMode = SinkerService.blend_type;
blendMode = AThingLeftBehindService.blend_type;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
import net.t106.sinkerglwallpaper.opengl.utils.ShaderUtils;
import net.t106.sinkerglwallpaper.opengl.utils.BufferUtils;
import net.t106.sinkerglwallpaper.opengl.shaders.ShaderLoader;
import net.t106.sinkerglwallpaper.rendering.services.SinkerService;
import net.t106.sinkerglwallpaper.rendering.objects.Graveyard;
import net.t106.sinkerglwallpaper.rendering.services.AThingLeftBehindService;
import net.t106.sinkerglwallpaper.rendering.objects.Garland;

/**
* Left filter for OpenGL ES 3.2
* Renders a customizable colored overlay with user-selectable blend modes
*/
public class LeftFilter extends Graveyard {
public class LeftFilter extends Garland {

private boolean isSmallSize = false;

Expand All @@ -23,14 +23,14 @@ public LeftFilter()
coords = new float[] { 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f };

// Keep legacy buffer creation for compatibility
ab = SinkerService.makeFloatBuffer(apex);
cb = SinkerService.makeFloatBuffer(coords);
ab = AThingLeftBehindService.makeFloatBuffer(apex);
cb = AThingLeftBehindService.makeFloatBuffer(coords);
}

@Override
protected void createShaderProgram() {
// Use color shader program for color-only rendering
shaderProgram = ShaderLoader.Programs.createColorProgram(SinkerService.getContext());
shaderProgram = ShaderLoader.Programs.createColorProgram(AThingLeftBehindService.getContext());
}

@Override
Expand Down Expand Up @@ -71,7 +71,7 @@ public void sizechange(boolean smollflg)
}

// Update buffer
ab = SinkerService.makeFloatBuffer(apex);
ab = AThingLeftBehindService.makeFloatBuffer(apex);

// Recreate VAO with new vertex data
if (vao != 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
import net.t106.sinkerglwallpaper.opengl.utils.ShaderUtils;
import net.t106.sinkerglwallpaper.opengl.utils.BufferUtils;
import net.t106.sinkerglwallpaper.opengl.shaders.ShaderLoader;
import net.t106.sinkerglwallpaper.rendering.services.SinkerService;
import net.t106.sinkerglwallpaper.rendering.objects.Graveyard;
import net.t106.sinkerglwallpaper.rendering.services.AThingLeftBehindService;
import net.t106.sinkerglwallpaper.rendering.objects.Garland;

/**
* Right side filter for OpenGL ES 3.2
* Renders a vertical colored strip on the right side with invert blend mode
*/
public class RightFilter extends Graveyard {
public class RightFilter extends Garland {

private boolean isSmallSize = false;

Expand All @@ -29,14 +29,14 @@ public RightFilter()
coords = new float[] { 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f };

// Keep legacy buffer creation for compatibility
ab = SinkerService.makeFloatBuffer(apex);
cb = SinkerService.makeFloatBuffer(coords);
ab = AThingLeftBehindService.makeFloatBuffer(apex);
cb = AThingLeftBehindService.makeFloatBuffer(coords);
}

@Override
protected void createShaderProgram() {
// Use color shader program for color-only rendering
shaderProgram = ShaderLoader.Programs.createColorProgram(SinkerService.getContext());
shaderProgram = ShaderLoader.Programs.createColorProgram(AThingLeftBehindService.getContext());
}

@Override
Expand Down Expand Up @@ -83,7 +83,7 @@ public void sizechange(boolean smollflg)
}

// Update buffer
ab = SinkerService.makeFloatBuffer(apex);
ab = AThingLeftBehindService.makeFloatBuffer(apex);

// Recreate VAO with new vertex data
if (vao != 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,34 @@
import net.t106.sinkerglwallpaper.opengl.utils.BufferUtils;
import net.t106.sinkerglwallpaper.opengl.utils.TextureUtils;
import net.t106.sinkerglwallpaper.opengl.shaders.ShaderLoader;
import net.t106.sinkerglwallpaper.rendering.services.SinkerService;
import net.t106.sinkerglwallpaper.rendering.services.AThingLeftBehindService;

/**
* Background rotating graveyard object for OpenGL ES 3.2
* Larger than CenterGraveyard and rotates in opposite direction with color tint
* Background rotating garland object for OpenGL ES 3.2
* Larger than CenterGarland and rotates in opposite direction with color tint
*/
public class BackgroundGraveyard extends Graveyard {
public class BackgroundGarland extends Garland {

private float rotation = 0.0f;
private static final float ROTATION_SPEED = 0.125f; // Positive rotation (opposite to center)
private static final int MAX_COUNT = 2880;

public BackgroundGraveyard()
public BackgroundGarland()
{
super();
// Larger quad vertices (1.5x scale compared to CenterGraveyard)
// Larger quad vertices (1.5x scale compared to CenterGarland)
apex = new float[] { -1.5f, -1.5f, 1.5f, -1.5f, -1.5f, 1.5f, 1.5f, 1.5f, };
coords = new float[] {0.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, };

// Keep legacy buffer creation for compatibility
ab = SinkerService.makeFloatBuffer(apex);
cb = SinkerService.makeFloatBuffer(coords);
ab = AThingLeftBehindService.makeFloatBuffer(apex);
cb = AThingLeftBehindService.makeFloatBuffer(coords);
}

@Override
protected void createShaderProgram() {
// Use blend shader program for additive blending with color tint
shaderProgram = ShaderLoader.Programs.createBlendProgram(SinkerService.getContext());
shaderProgram = ShaderLoader.Programs.createBlendProgram(AThingLeftBehindService.getContext());
}

@Override
Expand All @@ -45,7 +45,7 @@ public void Draw(float[] viewMatrix, float[] projectionMatrix) {
bindShader();

// Set texture (using flipped texture)
TextureUtils.bindTexture(0, SinkerService.textures[1]);
TextureUtils.bindTexture(0, AThingLeftBehindService.textures[1]);

// Set blend mode to additive (0)
ShaderUtils.setUniform1i(blendModeLocation, 0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,51 +6,51 @@
import net.t106.sinkerglwallpaper.opengl.utils.BufferUtils;
import net.t106.sinkerglwallpaper.opengl.utils.TextureUtils;
import net.t106.sinkerglwallpaper.opengl.shaders.ShaderLoader;
import net.t106.sinkerglwallpaper.rendering.services.SinkerService;
import net.t106.sinkerglwallpaper.rendering.services.AThingLeftBehindService;

/**
* Center rotating graveyard object for OpenGL ES 3.2
* Center rotating garland object for OpenGL ES 3.2
* Migrated from OpenGL ES 1.0 fixed pipeline
*/
public class CenterGraveyard extends Graveyard {
public class CenterGarland extends Garland {

private float rotation = 0.0f;
private static final float ROTATION_SPEED = -0.125f;
private static final int MAX_COUNT = 2881;

public CenterGraveyard()
public CenterGarland()
{
super();
// Define quad vertices (same as original)
apex = new float[] { -1f, -1f, 1f, -1f, -1f, 1f, 1f, 1f, };
coords = new float[] {0.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, };

// Keep legacy buffer creation for compatibility
ab = SinkerService.makeFloatBuffer(apex);
cb = SinkerService.makeFloatBuffer(coords);
ab = AThingLeftBehindService.makeFloatBuffer(apex);
cb = AThingLeftBehindService.makeFloatBuffer(coords);
}

@Override
protected void createShaderProgram() {
// Use blend shader program for additive blending
shaderProgram = ShaderLoader.Programs.createBlendProgram(SinkerService.getContext());
shaderProgram = ShaderLoader.Programs.createBlendProgram(AThingLeftBehindService.getContext());
}

@Override
public void Draw(float[] viewMatrix, float[] projectionMatrix) {
// android.util.Log.d("CenterGraveyard", "Draw() called");
// android.util.Log.d("CenterGarland", "Draw() called");

// Debug: Check if shader and texture are valid
if (shaderProgram == 0) {
android.util.Log.e("CenterGraveyard", "Shader program is 0!");
android.util.Log.e("CenterGarland", "Shader program is 0!");
return;
}
if (SinkerService.textures[0] == 0) {
android.util.Log.e("CenterGraveyard", "Texture is 0!");
if (AThingLeftBehindService.textures[0] == 0) {
android.util.Log.e("CenterGarland", "Texture is 0!");
return;
}
if (vao == 0) {
android.util.Log.e("CenterGraveyard", "VAO is 0!");
android.util.Log.e("CenterGarland", "VAO is 0!");
return;
}

Expand All @@ -61,7 +61,7 @@ public void Draw(float[] viewMatrix, float[] projectionMatrix) {
bindShader();

// Set texture
TextureUtils.bindTexture(0, SinkerService.textures[0]);
TextureUtils.bindTexture(0, AThingLeftBehindService.textures[0]);

// Set blend mode to additive (0) for beautiful color effects
ShaderUtils.setUniform1i(blendModeLocation, 0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
import net.t106.sinkerglwallpaper.opengl.utils.ShaderUtils;
import net.t106.sinkerglwallpaper.opengl.utils.BufferUtils;
import net.t106.sinkerglwallpaper.opengl.shaders.ShaderLoader;
import net.t106.sinkerglwallpaper.rendering.services.SinkerService;
import net.t106.sinkerglwallpaper.rendering.services.AThingLeftBehindService;

/**
* Abstract base class for OpenGL ES 3.2 rendering objects
* Migrated from OpenGL ES 1.0 fixed pipeline to modern programmable pipeline
*/
public abstract class Graveyard {
public abstract class Garland {
protected float apex[], coords[];
protected FloatBuffer ab, cb;
protected int cnt;
Expand All @@ -33,7 +33,7 @@ public abstract class Graveyard {
protected float[] modelMatrix;
protected float[] mvpMatrix;

public Graveyard() {
public Garland() {
modelMatrix = MatrixUtils.identity();
mvpMatrix = new float[16];
}
Expand All @@ -43,14 +43,14 @@ public Graveyard() {
* Must be called after OpenGL context is created
*/
public void initGL() {
android.util.Log.d("Graveyard", getClass().getSimpleName() + " initGL() started");
android.util.Log.d("Garland", getClass().getSimpleName() + " initGL() started");

// Create shader program
createShaderProgram();
android.util.Log.d("Graveyard", getClass().getSimpleName() + " shader program: " + shaderProgram);
android.util.Log.d("Garland", getClass().getSimpleName() + " shader program: " + shaderProgram);

if (shaderProgram == 0) {
android.util.Log.e("Graveyard", getClass().getSimpleName() + " failed to create shader program!");
android.util.Log.e("Garland", getClass().getSimpleName() + " failed to create shader program!");
return;
}

Expand All @@ -60,14 +60,14 @@ public void initGL() {
colorLocation = ShaderUtils.getUniformLocation(shaderProgram, "u_color");
blendModeLocation = ShaderUtils.getUniformLocation(shaderProgram, "u_blendMode");

android.util.Log.d("Graveyard", getClass().getSimpleName() + " uniform locations: mvp=" + mvpMatrixLocation +
android.util.Log.d("Garland", getClass().getSimpleName() + " uniform locations: mvp=" + mvpMatrixLocation +
", texture=" + textureLocation + ", color=" + colorLocation + ", blend=" + blendModeLocation);

// Create VAO and VBOs
createBuffers();
android.util.Log.d("Graveyard", getClass().getSimpleName() + " VAO: " + vao);
android.util.Log.d("Garland", getClass().getSimpleName() + " VAO: " + vao);

android.util.Log.d("Graveyard", getClass().getSimpleName() + " initGL() completed");
android.util.Log.d("Garland", getClass().getSimpleName() + " initGL() completed");
}

/**
Expand All @@ -76,7 +76,7 @@ public void initGL() {
protected void createShaderProgram() {
// Default implementation uses basic shader program
// Subclasses can override to use different shaders
shaderProgram = ShaderLoader.Programs.createBasicProgram(SinkerService.getContext());
shaderProgram = ShaderLoader.Programs.createBasicProgram(AThingLeftBehindService.getContext());
}

/**
Expand Down
Loading