SDL2
- Magortaltos
-
- Ú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.
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.
- Gábor
-
- 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.
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.
- Magortaltos
-
- Ú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?