Window as a mask

Hello people,

How can I use the window as a mask for cropping everything that’s not on the screen?

Hi,
this Category is about coding on libSDL, not with. That would be https://discourse.libsdl.org/c/game-development

Are you looking for https://wiki.libsdl.org/SDL_RenderSetClipRect ?

-Cass

I already found the solution:

SDL_Rect resolution = {0, 0, window_width, window_height};

SDL_RenderSetViewport(renderer, &resolution);

I don’t see how that helps. I think you are looking for a plain source rect, but that was so simple that I didn’t suggest that.

But maybe someone else gets it =)

I mean I have a Display and on that my windows are appearing.
What are you trying to do?
Something like this?

http://lazyfoo.net/tutorials/SDL/30_scrolling/index.php

-Cass

This way he wil show only whats inside the window, but the game stills renders whats outside

SDL_RenderSetViewport blocks the renderer from rendering whats outside

I maybe totally wrong, but isn’t rendering what the user isn’t seeing a waste of performance?

Well, I don’t get the point. Here is a source rect animation I set up.


Cheers,
-Cass

If I understand the user correctly, he/she wants to use clipping to only render what’s inside the viewport, which can be done with the help of the SDL_RenderSetViewport() function.
Your solution only clips textures, which in this case isn’t what the user wants.

Maybe a SDL Developer enlightens me with insights, I am in the mindset, that the viewport is mainly for splitting the window in areas. Like stated here:
http://lazyfoo.net/tutorials/SDL/09_the_viewport/index.php
and here:

-Cass

Well, I may be wrong so I’ll just leave it to someone else to answer.