Mandelbort Menge / Apfelmänchen als OpenGL Shader

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

veers hat geschrieben:In der Tat toll :)
Funktioniert es wenn du die Zeile 128 durch ein pass ersetzt?
Nein, dann bekomm ich folgendes:

Code: Alles auswählen

>D:\Programme\Python25\pythonw.exe -u "glslmandelbrot.py"
Traceback (most recent call last):
  File "glslmandelbrot.py", line 229, in <module>
    main()
  File "glslmandelbrot.py", line 226, in main
    MainWindow().run()
  File "glslmandelbrot.py", line 167, in __init__
    self.shader = Shader(vertex_shader, fragment_shader)
  File "glslmandelbrot.py", line 113, in __init__
    raise ShaderException(message)
__main__.ShaderException: Fragment shader(s) linked, vertex shader(s) linked. 

>Exit code: 1
...lasse ich auch diese Exception passieren laeuft es auch bei mir :)
Ich kann allerdings nicht sehr weit zoomen... Es wird schnell pixelig.
Ansonsten hab ich direkt nach dem Start zw 45 und 50 F/s. bei den Anfaengen der Pixeligkeit sind es dann so 25-30. Dabei bleibt es dann in etwa.
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Was heisst wenig? Bei mir liegen so ~15 mal drin. Danach ist die Präzision der Floats am Ende. Doubles werden leider nicht unterstützt. Das mit der ShaderException werde ich fixen. Ich brauche wohl einen anderen Weg um herauszufinden ob ein Fehler aufgetreten ist oder nicht. Ich hoffe du wirst es dann noch einmal testen!

Gruss,
Jonas
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

veers hat geschrieben:
apollo13 hat geschrieben:Hmm hinundwieder bekomm ich beim F1-Tastendruck nen Absturz und folgende Meldung:
Floating point exception
Das kann ich mir nicht erklären. Kannst du mir mal einen Stacktrace zukommen lassen?
Wenn du mit Stacktrace den normalen Backtrace meinst: Gibt es leider nicht, es kommt nur Floating point exception....
Falls du was anderes damit meinst, sag mir wie ich ihn bekomm...

EDIT:
auftreten tut das Problem scheinbar in diesen beiden Zeilen (eher erste..., also direkt in der if abfrage):

Code: Alles auswählen

            if self.show_fps:
                self.fps.draw()
Möglicherweise, wenn das Programm gestartet wird und die Maus außerhalb ist, das Programm selbst aber Fokus hat...
Jan-Peer
User
Beiträge: 166
Registriert: Dienstag 2. Oktober 2007, 10:55

Hallo,

Ich brauch' mal einen kleinen Tipp: Ich würde die Darstellung gerne etwas anders einfärben - mehr in Richtung warme Farben. Wo muß ich da ansetzen?
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Jan-Peer hat geschrieben:Hallo,

Ich brauch' mal einen kleinen Tipp: Ich würde die Darstellung gerne etwas anders einfärben - mehr in Richtung warme Farben. Wo muß ich da ansetzen?

Code: Alles auswählen

    gl_FragColor = vec4 (iter, iter, sin(iter*2.00), 1.0);
Hi Jan,
Da wird die Farbe bestimmt ;)

Gruss,
Jonas :)
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Jan-Peer
User
Beiträge: 166
Registriert: Dienstag 2. Oktober 2007, 10:55

Danke, irgendwie war ich blind -

ich schätze, die ersten drei Komponenten entsprechen den Farbanteilen, die letzte der Helligkeit. Aber dann muß ich erst einmal 256 auf 1.0 umrechnen *brr* :lol:
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Jan-Peer hat geschrieben:Danke, irgendwie war ich blind -

ich schätze, die ersten drei Komponenten entsprechen den Farbanteilen, die letzte der Helligkeit. Aber dann muß ich erst einmal 256 auf 1.0 umrechnen *brr* :lol:
Fast, das letzte ist der Alpha Kanal, welcher eigentlich gar nicht benötigt wird. .oO( Wieso verwende ich den überhaupt )
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
noob1
User
Beiträge: 9
Registriert: Mittwoch 9. Juli 2008, 09:24

Geil. :D :)
Benutzeravatar
x2nop
User
Beiträge: 16
Registriert: Freitag 11. April 2008, 06:29
Wohnort: Spreeathen / Elbflorenz

stupendo merdaviglioso!!!
:shock: wundervoll :o wahrlich!
habs zwar schon vor ne weile entdeckt, hatte aber ganz ähnliche sorgen mit pyglet wie meine vorredner. das hatte mich schnell frustriert und ich wollte mich nich mit ominösen installationsvorgängen und eingerichte rumschlagen..
(* manche sind stinkendfaul, andre sogar zu faul zum stinken! *)
nur bin ich grad beim rumexperimentiern mit opengl und shadern und nochmals drauf gestossen. nicht das ichs zum laufen gebracht hätte (noch nicht!), aber die shaderklasse ist prima!
prozedural hat ichs auch schon. ne klasse wollt ich mir eh früher oder später draus basteln, aber so..!!
sind ne menge interessanter sachen drin.. und hat mir ne menge arbeit erspart.

sehr nützlich.

so, mußt ich erstma loswerden. werd bei gelegenheit mal mein resultat posten.

ps.: bin auch sehr gespannt, wie (ob) die shader auf meiner FX5200 laufen. :evil:
es gibt leute, die sind anders und andere, die sind genauso!
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

x2nop hat geschrieben:so, mußt ich erstma loswerden. werd bei gelegenheit mal mein resultat posten.

ps.: bin auch sehr gespannt, wie (ob) die shader auf meiner FX5200 laufen. :evil:
Gar nicht. Habe aber mal durch Zufall eine für die FX reihe angepasste Version (von meinem eigenen Code :lol:) gefunden.

http://code.google.com/p/freedmark/sour ... delbrot.py ;)
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
x2nop
User
Beiträge: 16
Registriert: Freitag 11. April 2008, 06:29
Wohnort: Spreeathen / Elbflorenz

veers hat geschrieben:Gar nicht. Habe aber mal durch Zufall eine für die FX reihe angepasste Version (von meinem eigenen Code :lol:) gefunden.
hmmmkay.. zu früh gefreut (so gegen 7:30 MEZ).
das problem liegt aber grad ganz woanders. ausgegangen bin ich von diesem beispiel: http://www.pygame.org/wiki/GLSLExample?parent=CookBook.
mein letzter stand war dann jener:http://paste.pocoo.org/show/82521/. das hat auch wunderbar funktioniert. beim versuch, das nun zusammenzuführen, gabs die tollsten fehlermeldungen.

Code: Alles auswählen

// ein paar kleine auszüge..
ctypes.ArgumentError: argument 3: <type 'exceptions.TypeError'>: expected LP_c_char_p instance instead of LP_LP_c_char
//
OpenGL.error.GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glGetProgramInfoLog,
	cArguments = (
		0,
		4096,
		<ctypes.LP_c_long object at 0x99c76a4>,
		<ctypes.LP_c_char object at 0x99c7614>,
	)
)
//
(11) : warning C7011: implicit cast from "vec4" to "vec3"
(11) : warning C7504: OpenGL does not allow writing to input variable 'gl_Normal'
die traten auch bei der unverwursteten shaderklasse auf. die shader selbst hab ich noch garnicht laufen lassen..

~$10
es gibt leute, die sind anders und andere, die sind genauso!
Benutzeravatar
x2nop
User
Beiträge: 16
Registriert: Freitag 11. April 2008, 06:29
Wohnort: Spreeathen / Elbflorenz

kleiner nachtrag: kann es sein, daß es daran liegt, daß ich GL über OpenGL statt pyglet.GL importiere?
es gibt leute, die sind anders und andere, die sind genauso!
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

x2nop hat geschrieben:kleiner nachtrag: kann es sein, daß es daran liegt, daß ich GL über OpenGL statt pyglet.GL importiere?
Durchaus ;)
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hoi,

bekomme mit Python 2.5.1 unter Ubuntu 7.10:
*** glibc detected *** python: free(): invalid pointer: 0x08cabd30 ***
Hatte ich auch schon länger nicht mehr ... ;-)

Aber der Code sieht jedenfalls cool aus. (Wird Zeit, dass ich bei mir mal wieder Updates aufspielen kann. ;-(

Gruß,
Christian
Antworten