package com.mojang.blaze3d.systems; import com.mojang.blaze3d.DontObfuscate; import com.mojang.blaze3d.buffers.GpuBuffer; import com.mojang.blaze3d.platform.NativeImage; import com.mojang.blaze3d.textures.GpuTexture; import java.nio.ByteBuffer; import java.nio.IntBuffer; import java.util.OptionalDouble; import java.util.OptionalInt; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import org.jetbrains.annotations.Nullable; @Environment(EnvType.CLIENT) @DontObfuscate public interface CommandEncoder { RenderPass createRenderPass(GpuTexture gpuTexture, OptionalInt optionalInt); RenderPass createRenderPass(GpuTexture gpuTexture, OptionalInt optionalInt, @Nullable GpuTexture gpuTexture2, OptionalDouble optionalDouble); void clearColorTexture(GpuTexture gpuTexture, int i); void clearColorAndDepthTextures(GpuTexture gpuTexture, int i, GpuTexture gpuTexture2, double d); void clearDepthTexture(GpuTexture gpuTexture, double d); void writeToBuffer(GpuBuffer gpuBuffer, ByteBuffer byteBuffer, int i); GpuBuffer.ReadView readBuffer(GpuBuffer gpuBuffer); GpuBuffer.ReadView readBuffer(GpuBuffer gpuBuffer, int i, int j); void writeToTexture(GpuTexture gpuTexture, NativeImage nativeImage); void writeToTexture(GpuTexture gpuTexture, NativeImage nativeImage, int i, int j, int k, int l, int m, int n, int o); void writeToTexture(GpuTexture gpuTexture, IntBuffer intBuffer, NativeImage.Format format, int i, int j, int k, int l, int m); void copyTextureToBuffer(GpuTexture gpuTexture, GpuBuffer gpuBuffer, int i, Runnable runnable, int j); void copyTextureToBuffer(GpuTexture gpuTexture, GpuBuffer gpuBuffer, int i, Runnable runnable, int j, int k, int l, int m, int n); void copyTextureToTexture(GpuTexture gpuTexture, GpuTexture gpuTexture2, int i, int j, int k, int l, int m, int n, int o); void presentTexture(GpuTexture gpuTexture); }