Lazarus 2.0.10 (2020.07.11.)
Letöltés

file SDL2

  • Magortaltos
  • Magortaltos profilkép
  • Új fórumozó
  • Új fórumozó
  • Hozzászólások: 14
  • Köszönetek: 0

Magortaltos válaszolt a témára: SDL2

Ó... nem erre gondoltam.
Hanem , hogy pl. egy négyzet kirajzolása miatt ne kelljen ezt a rengeteg kört - körbejárni. Nem 3D játékot írok.
Van rá mód, hogy egyből a látható képernyőre írjak?

program SDL_RectanglesScaling;

uses SDL2;

var
sdlWindow1: PSDL_Window;
sdlRenderer: PSDL_Renderer;
sdlSurface1: PSDL_Surface;
sdlTexture1: PSDL_Texture;
sdlRectangle: TSDL_Rect;

begin

if SDL_Init(SDL_INIT_VIDEO) < 0 then Halt;

if SDL_CreateWindowAndRenderer(500, 500, SDL_WINDOW_SHOWN, @sdlWindow1, @sdlRenderer) <> 0
then Halt;
SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, 'nearest');

// prepare rectangle
sdlRectangle.x := 12;
sdlRectangle.y := 25;
sdlRectangle.w := 178;
sdlRectangle.h := 116;

// render texture
SDL_RenderCopy(sdlRenderer, sdlTexture1, @sdlRectangle, nil);
SDL_RenderCopy(sdlRenderer, sdlTexture1, nil, @sdlRectangle);

SDL_RenderPresent(sdlRenderer);
SDL_Delay(2000);

// clear memory
SDL_DestroyTexture(sdlTexture1);
SDL_FreeSurface(sdlSurface1);
SDL_DestroyRenderer(sdlRenderer);
SDL_DestroyWindow (sdlWindow1);

SDL_Quit;

end.
#2411

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 436
  • Karma: 8
  • Köszönetek: 70

Gábor válaszolt a témára: SDL2

A modern (multitasking/többfolyamatos) operációs rendszereken a felhasználói szoftverek nem férhetnek hozzá közvetlenül a gép alkatrészeihez (csak meghajtószoftveren keresztül), így a video memóriához se.
Ha kicsit részletesebben leírod (lehetőleg a hibát bemutató kódrészlettel), hogy mi a jelenség ami gondot okoz akkor talán többet is tudunk segíteni.
#2408

  • Magortaltos
  • Magortaltos profilkép
  • Új fórumozó
  • Új fórumozó
  • Hozzászólások: 14
  • Köszönetek: 0

Magortaltos létrehozta a témát: SDL2

Van arra lehetőség, hogy egyből a látható képernyőre rajzoljak és ne kelljen mindig renderelni?
#2407