package com.mojang.blaze3d.systems; import com.mojang.blaze3d.DontObfuscate; import com.mojang.blaze3d.buffers.GpuBuffer; import com.mojang.blaze3d.buffers.GpuBufferSlice; import com.mojang.blaze3d.buffers.GpuFence; import com.mojang.blaze3d.buffers.GpuBuffer.MappedView; import com.mojang.blaze3d.platform.NativeImage; import com.mojang.blaze3d.platform.NativeImage.Format; import com.mojang.blaze3d.textures.GpuTexture; import com.mojang.blaze3d.textures.GpuTextureView; import java.nio.ByteBuffer; import java.nio.IntBuffer; import java.util.OptionalDouble; import java.util.OptionalInt; import java.util.function.Supplier; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import org.jetbrains.annotations.Nullable; @Environment(EnvType.CLIENT) @DontObfuscate public interface CommandEncoder { RenderPass createRenderPass(Supplier supplier, GpuTextureView gpuTextureView, OptionalInt optionalInt); RenderPass createRenderPass( Supplier supplier, GpuTextureView gpuTextureView, OptionalInt optionalInt, @Nullable GpuTextureView gpuTextureView2, OptionalDouble optionalDouble ); void clearColorTexture(GpuTexture gpuTexture, int i); void clearColorAndDepthTextures(GpuTexture gpuTexture, int i, GpuTexture gpuTexture2, double d); void clearColorAndDepthTextures(GpuTexture gpuTexture, int i, GpuTexture gpuTexture2, double d, int j, int k, int l, int m); void clearDepthTexture(GpuTexture gpuTexture, double d); void writeToBuffer(GpuBufferSlice gpuBufferSlice, ByteBuffer byteBuffer); MappedView mapBuffer(GpuBuffer gpuBuffer, boolean bl, boolean bl2); MappedView mapBuffer(GpuBufferSlice gpuBufferSlice, boolean bl, boolean bl2); void copyToBuffer(GpuBufferSlice gpuBufferSlice, GpuBufferSlice gpuBufferSlice2); 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, int p); void writeToTexture(GpuTexture gpuTexture, IntBuffer intBuffer, Format format, int i, int j, int k, int l, int m, int n); 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(GpuTextureView gpuTextureView); GpuFence createFence(); }