| 
				
					|  | Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
 |  
 
	
		| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |  
		| Autor | Nachricht |  
		| Andt2018 
 
 
 Anmeldungsdatum: 22.12.2017
 Beiträge: 7
 
 
 | 
			
				|  Verfasst am: 22.12.2017, 18:19    Titel: Schnelleres Pset rendering :) |   |  
				| 
 |  
				| Für Kritik würe ich mich freuen, bin neu hier..   
  	  | Code: |  	  | 'Neues Pset
 
 #undef pset
 
 sub pset (y as uinteger,x as uinteger,c as ulong)
 static s as ulong ptr
 static w as uinteger
 if s = 0 then
 s = screenptr
 screeninfo w
 end if
 s[(w*x)+y] = c
 end sub
 
 'Example
 
 const sw = 800
 const sh = 600
 screenres sw,sh,32,2
 dim as integer cx,fx
 do
 cx+=1
 
 screenlock
 for x as integer = 0 to sh-1
 for y as integer = 0 to sw-1
 pset y,x,(x*y) xor rgb(x+cx,y+cx,cx)
 next
 
 next
 screenunlock
 sleep 2
 loop until inkey <> ""
 
 | 
 [/code]
 |  |  
		| Nach oben |  |  
		|  |  
		| St_W 
 
  
 Anmeldungsdatum: 22.07.2007
 Beiträge: 958
 Wohnort: Austria
 
 | 
			
				|  Verfasst am: 22.12.2017, 22:27    Titel: Re: Schnelleres Pset rendering :) |   |  
				| 
 |  
				| Willkommen hier im Forum! Da ich den selben Code vorhin auch im englischen Forum gesehen hab, würde mich interessieren, ob der Code von dir ist? 	  | Andt2018 hat Folgendes geschrieben: |  	  | Für Kritik würe ich mich freuen, bin neu hier.. | 
 
 Deine Berechnung der Pixel-Speicher-Adresse ist verbesserungsdürftig, da sie bei bestimmten Auflösungen nicht korrekt funktionieren wird. Anstatt der Bildbreite solltest du nämlich den Wert "Pitch" für die Zeilenlänge (in Bytes) verwenden, da am Ende jeder Zeile ungenutzte Bytes vorhanden sein können. Du hast übrigens X und Y vertauscht - X bezeichnet normalerweise die horizontale Koordinate, Y die vertikale.
 
 Zur Pointer Berechnung siehe auch:
 https://www.freebasic-portal.de/befehlsreferenz/interne-pixelformate-464.html
 _________________
 Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
 http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
 |  |  
		| Nach oben |  |  
		|  |  
		|  |  
  
	| 
 
 | Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten.
 Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
 Du kannst deine Beiträge in diesem Forum nicht löschen.
 Du kannst an Umfragen in diesem Forum nicht mitmachen.
 
 |  |