Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

91

30.10.2009, 17:45

Also ich hab das jetzt einmal unter Ubuntu 9.10 x64 getestet. Das kompilierten Demoprogramm "Tutorial13(MiniMatrix)" läuft großteils ganz gut, es gibt aber doch ein paar Probleme dabei:

- Sound:
Folgender Fehler kommt bei ein paar Sounddateien:
"Error: Could not found sound file!"
Inzwischen hab ich herausgefunden dass du einfach die Dateinamen teilweise mit unterschiedlicher Groß-/Kleinschreibung drinnen hast.
Wenn ich die Dateien umbenenne, dann kommen die Fehler nicht mehr, aber Sound höre ich trotzdem keinen.

- DirectX:
Ich kann am Anfang DirectX wählen und es funktioniert. Wie hast du denn das unter Linux zum Laufen gebracht :P Aber am Fenster steht schon so verdächtig OpenGL 3.0 ;)

- Software Renderer:
Irgendwie ist die Steuerung der Maus invertiert.

- Maus:
Ich weiß nicht ob es beabsichtig ist, aber die Maus wird im Fenster gefangen und ich kann keine anderen Anwendungen mehr mit der Maus bedienen.

Beim Tutorial 18 hat der Typ mit OpenGL ein paar weiße Flecken auf seiner Kleidung. Mit dem Software Renderer hat er die nicht. Wahrscheinlich kommt das von den Shadern...

Zum selber kompilieren wäre ein Buildsystem (am Beste CMake ;) ) ganz praktisch...
Tutorials zu OpenGL, Ubuntu und Programmieren allgemein: www.tomprogs.at

Forum und Wiki zum Programmieren lernen: proggen.org/forum.proggen.org

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

92

30.10.2009, 20:08

@Sound:
Für Windows habe ich erst mal ganz einfach das WinMM system genommen, da muss ich die Sounds nicht selber per fopen lesen usw. sondern sehr leicht einfach nur wiedergeben.
Dies ist die erste Linux Version meiner Engine, da gibt's noch kein Sound System sondern erst mal nur das "Dummy" System "sound::SOUNDDEVICE_DUMMY".
Das mit den Dateinamen mit Groß-/ und Kleinbuchstaben muss ich mir unter Linux noch erst richtig angewöhnen, weil das unter Windows egal ist - was mir unter Linux aber besser gefällt :D weils logischer ist.

@DirectX:
Das gibt's unter Linux natürlich nicht ^^ außer vlt. mit WINE. Damit man aber an den sources der Programme, die die SPE verwenden, absolut nichts ändern muss, habe ich die EnumerationsKonstante "video::DRIVER_DIRECT3D9" unter Linux nicht rausgenommen, sondern einfach im Linux SPEDevice diese Option abgefangen. Wenn jemand unter Linux DX verwenden will, schaltet die Engine automatisch auf OpenGL. Das sollte auch eigentlich in der Konsole stehen (wenn der Hintergrund nichts schwarz ist, weil der Text schwarz ist - zwischenlösung): "Direct3D is only suported under MS Windows; using OpenGL"

@SoftwareRenderer:
Das Problem habe ich in diesem Tutorial auch, die "getCursorSpeed()" Methode funktioniert noch nicht richtig.

@Maus:
Die Maus wird absichtlich gefangen. Ich weiß, dass das unter Linux wohl nicht so gerne gesehen wird, aber für FirstPerson Spiele - in diesem Fall nur FirstPersonTutorial ^^ - wäre es ohne diesen Effekt sehr schlecht in der Welt herum zu laufen.

@Tutorial18:
Ja, das mit den Felcken liegt am Shader ^^

@Buildsystem:
Mit soetwas habe ich mich noch nicht außeinander gesetzt. Es sein denn damit ich ein Makefile gemeint - glaube aber eher du meinst was anderes. CMake klingt für mich nur nach GNU Make was in C geschrieben wurde xD
Wenn du so etwas für die SPE mal machen könntest, würde ich das gerne in mein Projekt mit aufnehmen und dir einen Eintrag unter Credits auf der Homepage geben ;)

Bis dann lg. Lukas und Danke, dass du's dir mal genauer angesehen hast =)

93

31.10.2009, 00:50

Zitat von »"LukasBanana"«

Das mit den Dateinamen mit Groß-/ und Kleinbuchstaben muss ich mir unter Linux noch erst richtig angewöhnen, weil das unter Windows egal ist - was mir unter Linux aber besser gefällt :D weils logischer ist.

So schwer ist es eigentlich eh nicht. Einfach alle Dateien immer gleich benennen bzw. ansprechen ;)

Zitat von »"LukasBanana"«

Damit man aber an den sources der Programme, die die SPE verwenden, absolut nichts ändern muss, habe ich die EnumerationsKonstante "video::DRIVER_DIRECT3D9" unter Linux nicht rausgenommen, sondern einfach im Linux SPEDevice diese Option abgefangen.


Du könntest die Abfrage ja auch einfach mit defines auf Windows und Linux anders machen. Du hast eh schon Konstanten dafür mit welchen Renderern man kompilieren möchte, das bräuchtest du dann nur für die Auflistung auch verwenden. Also müsstest du nur in der help/tutorials/common.hpp nur die Zeilen einbinden, für die auch die entsprechenden Module kompiliert wurden.

Zitat von »"LukasBanana"«

wäre es ohne diesen Effekt sehr schlecht in der Welt herum zu laufen.

Stimmt, erlich gesagt habe ich eigentlich auch noch nie so ein Spiel im Fenstermodus gespielt. Kein Ahnung wie das sonst gemacht wird :)

Zitat von »"LukasBanana"«


Mit soetwas habe ich mich noch nicht außeinander gesetzt. Es sein denn damit ich ein Makefile gemeint - glaube aber eher du meinst was anderes. CMake klingt für mich nur nach GNU Make was in C geschrieben wurde xD

Nicht ganz :) CMake kannst du gewissermaßen schon mit Make vergleichen, nur das es dir einiges an Arbeit abnimmt. Man gibt auch einfach mit verschiedenen Befehlen an wie was gebaut werden soll. Dann kann CMake aus den Dateien mit den Befehlen Makefiles oder Projektdateien für CodeBlocks, Eclipse oder Visual Studio erstellen, und das ganze auf den verschiedensten Betriebssystemen. Dh. du musst also nur ein Buildsystem verwalten, und kannst deine Engine und die Programme trotzdem auf den verschiedensten Betriebssystemen kompilieren. Im Gegensatz zu make ist es meiner Meinung nach mit CMake wesentlich einfacher Programme zu erstellen. Zusätzlich gibt es die sehr praktische Möglichkeit die verschiedensten benötigten Pakete aufzuspüren (OpenGL, X11, libpng...) und auch mit ihnen zu linken.

Zitat von »"LukasBanana"«


Wenn du so etwas für die SPE mal machen könntest, würde ich das gerne in mein Projekt mit aufnehmen und dir einen Eintrag unter Credits auf der Homepage geben ;)

Ich hab mich einmal ein bisschen herumgespielt: http://dl.getdropbox.com/u/1279274/SoftPixelEngine-CMake.tar.bz2

Für CMake sind die CMakeList.txt Dateien. Die sollten eigentlich eh recht gut verständlich sein. Es funktioniert zwar nicht vollständig, man kann aber das erste Programm einmal erstellen :)

Du brauchst dann nur ins Rootverzeichnis gehen und 'cmake .' aufrufen und anschließend noch 'make'. Achja, und am Code der Engine hab ich auch etwas geändert, da er erstens irgendwo memset nicht gefunden hat, da die string.h nicht eingebunden worden ist und zweitens der Wrapper und der Software Renderer irgendwie ziemlich viele undefined references geliefert haben. Aber da dürftest du dich wohl besser auskennen, wie man das richtig kompilieren kann ;)

Zitat von »"LukasBanana"«


Bis dann lg. Lukas und Danke, dass du's dir mal genauer angesehen hast =)

Bitte, gerne. Wer weiß, vielleicht brauch ich ja auch einmal jemanden der sich von mir auch was anschaut :)
Tutorials zu OpenGL, Ubuntu und Programmieren allgemein: www.tomprogs.at

Forum und Wiki zum Programmieren lernen: proggen.org/forum.proggen.org

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

94

31.10.2009, 12:31

Danke sehr :D ich werd's mir auf jeden Fall mal anschauen, derzeit funktioniert aber mein Linux System nicht mehr richtig, weil ich beim Installieren eines nVidia CUDA Treibers Mist gebaut habe, daher kann ich es noch nicht testen.
Melde mich aber hier, sobald das wider geht =)
Gruß,
Lukas

95

31.10.2009, 13:57

Gehört jetzt zwar nicht zum Topic, aber interessiert mich sehr

@ Tom:
Wie hast du deinen Avatar gemacht ?
Software ?, evtl. ein Tut zu der Methode ?

96

31.10.2009, 16:03

Zitat von »"E122"«

Gehört jetzt zwar nicht zum Topic, aber interessiert mich sehr

@ Tom:
Wie hast du deinen Avatar gemacht ?
Software ?, evtl. ein Tut zu der Methode ?

Das ist irgendwann beim Herumspielen mit Blender entstanden. Das 'T' und 'P' sind einfach zwei Textelemente mit Extrude und Beveldepth etwas hinauf gestellt. Nachher noch die Lampe und Kamera richtig positioniert und beim Rendern als Format PNG mit RGBA auswählen, damit die Ränder auch schön glatt werden.
Tutorials zu OpenGL, Ubuntu und Programmieren allgemein: www.tomprogs.at

Forum und Wiki zum Programmieren lernen: proggen.org/forum.proggen.org

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

97

15.02.2010, 21:14

Ich hab heute Abend mal ne Demo geschrieben um zu demonstrieren wie der ModelCombiner bereits funktioniert:

Hier ist der Link zum Beitrag in meinem Forum:
http://www.hlc-games.de/forum/viewtopic.php?f=10&t=79

Und hier ist der direkte Download Link:
http://www.hlc-games.de/projects/softpix…ombinerDemo.zip

Alyx

Treue Seele

Beiträge: 236

Wohnort: Hannover

Beruf: Head Of Software Development

  • Private Nachricht senden

98

16.02.2010, 00:10

Wie schon in deinem Forum geschrieben, Respekt erstmal, da plane ich auch schon seit Wochen dran... nicht ganz unkompliziertes Thema.

Mein theoretischer Ansatz soweit:
0) Alle Dreiecke die sich schneiden entlang der Plane-Kannte auftrennen. sowohl Objekt A die von B als auch B die von A
a) Alle in Objekt A befindlichen Dreiecke von Objekt B entfernen, alle in Objekt B von Objekt A befindlichen Dreiecke entfernen --> boolisch Combine
b) Alle in Objekt B befindlichen Dreiecke von Objekt A entfernen, alle in Objekt A von Objekt B enthaltenen Dreiecke zu Objekt A hinzufügen und deren Blickrichtung flippen --> boolisch Cut
c) Alle Dreiecke von A, die sich nicht in B befinden entfernen, alle Dreiecke von Objekt B, die sich nicht in A befinden entfernen

Am schwierigsten finde ich das behandeln von fast planar aufeinanderliegenden Dreiecken und auch das erstellen von fast unendlich kleinen bei der ganzen Sache zu verhindern.

LG
Alyx

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

99

28.03.2010, 14:41

Heute habe ich die SoftPixel Engine 1.9 hochgeladen und steht nun zum Download bereit :)

Hier ist der Link zur Download-website:
http://softpixelengine.sourceforge.net/sp_downloads.html

Hier einen Überblick über das Neue wie es auch in der LICENSE.txt Datei steht:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
VERSION 1.9

 * ModelCombiner tool created
   A 'GameEngine like' tool to combine two models has been added.
   
 * LightmapGenerator tool created
   A 'GameEngine like' tool to generate lightmaps for the whole scene has been added.
   
 * ParticleAnimator tool created
   A 'GameEngine like' tool to animate a lot of particles/ sprites.
   
 * Entity class was more cleaned up
   Surface management has been redesigned.
   Each vertex/ texture/ surface modification functions are now crash safe.
   
 * Level of detail meshes added
   LOD (Level of detail) feature has been added in the Entity class. Use the "addLODMesh" function.
   
 * Surface optimization optimized
   Sounds funny but it's true, the process of surface optimization has been speeded up.
   
 * Volumetric sounds correction
   3D sound effect has been repaired and works very good now. Listener position
   and orientation is setable by the sound device
   
 * Goodbye for the GUI
   The in-house GUI (GraphicsUserInterface) has been removed from the project completely
   because of incompleteness and uselessness.
   The source code of this part is furthermore available in the "media" folder as a
   detached project.
   
 * Spline translations for node animations
   The node animatinos now support spline translations for smooth movements.
   
 * Better light manangement
   You can only see 8 light sources with OpenGL and Direct3D9 but the SoftPixel Engine
   sorts the lights in dependent of the distance to camera.
   
 * Mesh buffers in Direct3D9 driver completed
   Finally the vertex- and index buffer creation in the Direct3D9 driver works fine.
   Now the rendering is much faster! Like the VertexBufferObjects (VBOs) in OpenGL.
   
 * Mesh reference function added
   The Entity's "setMeshReference" function can be used to reduce costs of memory.
   This function allows you to link the entity to an other entity's mesh buffer list
   when drawing multiple equal 3d models.
   
 * Frustum culling
   Now each object can get a bounding box to be blended out when it is out of active camera's view frustum.
   
 * New standard primitive "Icosphere" (ENTITY_ICOSPHERE) and rebuild "Dodecahedron"
   Segments/subdevision is the same like in Blender and is in the range of 1 and 8.
   
 * ModelCreator supports Bezier patches now
   The standard primitive "Teapot" is now also created by Bezier patches.
   
 * RenderTargets created
   Using RenderTargets in Direct3D9 and FrameBufferObjects (FBO) in OpenGL.
   Use the function "Texture::makeRenderTarget".
   
 * Complete new SPM format architecture (v.2.0)
   Now the SoftPixelModel format saves much more memory and has a better structure.
   
 * Immediate mesh buffer update
   Now the engine is able to update the mesh buffers immediate, i.e. when changed a vertex coordinate
   the mesh buffer is updated for this single vertex. Can be enabled with "Entity::setUpdateImmediate"
   
 * OpenGL Index buffer support
   Finally the mesh buffers with OpenGL also have an index buffer.
   The time before the engine only used OpenGL vertex buffers.
   Further more there is now more control for the hardware mesh buffers. The following functions are now
   available in the Entity class:
   updateMeshBuffer, updateVertexBuffer, updateIndexBuffer, updateMeshBufferVertex, updateMeshBufferTriangle
   
 * ToxyVision Model (TMF) loading support discontinued.
   There is no longer a support for the unimportant TMF 3d file format.


Fröhliches Downloaden und frohe Ostern :D

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

100

02.04.2010, 16:14

Rechtzeitig zum neuen Release der Engine habe ich auch die API Referenz auf den neusten Stand gebracht und vor allem erst mals angefangen die Funktionen Strutur-komponenten usw. genau zu dokumentieren :)
Damit bin ich natürlich noch nicht fertig aber die wichtigesten Klassen haben bereits eine relativ umfangreiche Dokumentation wie z.B. Entity, SceneManager, VideoDriver, Texture etc..
Auch der neue integrierte LightmapGenerator hat eine sehr umfangreiche Beschreibung zu der komfortablen Funktion generateLightmaps.
Es wäre schön wenn ich der Engine eine Chance geben würdet denn es hat sich inzwischen einiges getan :D

EDIT:
Jetzt gibt's in meiner SPE Forum sogar eine Kategorie (quasi eine Laber Ecke) in der in jeder Sprache geschrieben/ geantwortet wird und auch unregistrierte User (also Gäste) neue Beiträge verfassen und auf Beiträge antworten dürfen! :D
http://www.hlc-games.de/forum/viewforum.php?f=22

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »LukasBanana« (02.04.2010, 17:04)


Werbeanzeige