Text renders upside down

Hello all i have litle problem when i render text its upside down but when i use Ortho to fix it everthing else flips upside down.
Is there anyway to fix that?
and one quick question how can i draw something above everything else?i tryed some things but they didnt work.

How many cameras are you using?

You have to draw things in order of Z Index, this means it renders in layers from 0 > xxx amount, the first render code such as:

Spritebatch batch = new SpriteBatch();
		
		batch.draw(someTexture, 5, 5); // Drawn first, z order 0
		batch.draw(someOtherTexture, 5, 5); // Drawn after, z order 1
                // So on
		//Anything after this will draw over any of the below if the coordinates overlap

EDIT it just occurred to me, if you are using LibGDX and using a SpriteBatch to draw your BitmapFonts, you need to set the projection matrix of the batch to your camera.

batch.setProjectionMatrix(cam.combined);

That text mirroring is an old problem and caused by the fact that your y-axis points in the opposite direction of the font rendering systems one.
You have to find a way to find a way to mirror the font alone again without affecting the whole scene or change your whole y system…

i use lwjgl for everything and slick2d for text on string.
i know that slicks render thing in diffenet y axes that why i ask how i can only swap my text

You could try to render it with a negative height, in some systems this could work.

Push a suitable matrix before rendering the text and pop it afterwards?

Disable the z-buffer before you draw it?

OpenGL is a state machine. That means that anything you render is affected by the state OpenGL is in when you made that specific draw call. This means you can set some ortho projection matrix to render your scene, then set the flipped projection matrix to render your text. Changing the matrix (or anything else) does not change any previously rendered pixel.

No, Slick forces a top down rendering origin. No way to change it, as far as I know.