FastRender(SubEngine für Blitz3D)

Übersicht Sonstiges Projekte

Neue Antwort erstellen

Xaymar

ehemals "Cgamer"

Betreff: FastRender(SubEngine für Blitz3D)

BeitragMo, Jun 07, 2010 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
~Beschreibung~
Die SubEngine soll einem das arbeiten mit B3D etwas erleichtern(besonders bei Strukturiertem Programmieren). Sie soll später ein rundum Packet(wie die Source Engine) sein. D.h. das meiste wird vertreten sein.

Das meiste wird in den "Example"'s beschrieben, einiges vorerst noch nicht.
Ich habe auch ein Beispielspiel beigelegt(Games/Asteroids)

~Features~
Arrow Texturen
-- Arrow "Level of Detail" mit Realtime nachladen von Texturen
-- Arrow Automatisches texturieren
-- Arrow Animierte Texturen möglich
Arrow Models
-- Arrow Level of Detail per Distanz mit Punkt(Punkt zu Punkt Distanz) und Box(Box zu Punkt Distanz) und mit übergängen zwischen LoD Stufen
Arrow Terrains
-- Arrow Basisches Level of Detail (kein Geomipmapping, um bei vielen Terrains berechnungszeit zu sparen)
-- Arrow Mehrere Layer mit Alpha und Textur (über Banks gehandhabt)
Arrow Texture Container (Hält mehrere Texturen in einer Bank. Banks sind echt nett)
Arrow Partikel-System mit sehr schnellem Z-Sorting, auch bei ~32k Partikel(Danke an Midimaster, Integer sortieren geht echt schneller)
-- Arrow Farbe, Transparenz, usw anpassbar.
-- Arrow Automatisches Erstellen der Partikel einstellbar
-- Arrow Manuelles Erstellen der Partikel auch möglich
Arrow Sky-System
-- Arrow Nutzt internes Texture Container System
-- Arrow 3D Sky unterstützt(siehe: [B3D] 3D SkyBox, allerdings stark verbessert)

~Coming Soon Features~
Arrow Physiksystem
Arrow Soundsystem
Arrow Netzwerksystem
Arrow 2D System ala Draw3D (Immoment kann man auch Draw3D nutzen)
Arrow Animierte Models
Arrow 3D GUI
Arrow Weltsystem aka Level(Loader und Unloader wieder entfernt)

~Benutzung~
Zum benutzen müsst ihr nur
Code: [AUSKLAPPEN]
Include "Includes/Engine/Engine.bb"

am Anfang eures Codes einfügen. Die benutzung wird in den Examples beschrieben.

~Screenshots~
user posted imageuser posted imageuser posted imageuser posted imageuser posted image

~Download/SVN~
Download: Version 0.80
SVN Link: Code.Google

~Lizenzbedingungen~
Code: [AUSKLAPPEN]
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;- Fast Render Engine (c) Michael Dirks 2010 - xxxx      -;
;-=======================================================-;
;-      DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE      -;
;-                Version 2, December 2004               -;
;-                                                       -;
;-    Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>   -;
;-                                                       -;
;- Everyone is permitted to copy and distribute verbatim -;
;- or modified copies of this license document, and      -;
;- changing it is allowed as long as the name is changed.-;
;-                                                       -;
;-      DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE      -;
;- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND    -;
;-                                          MODIFICATION -;
;-                                                       -;
;- 0. You just DO WHAT THE FUCK YOU WANT TO.             -;
;-                                                       -;
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;-  This program is free software. It comes without any  -;
;-  warranty, To the extent permitted by applicable law. -;
;-   You can redistribute it and/or modify it under the  -;
;-    terms of the Do What The Fuck You Want To Public   -;
;-  License, Version 2, as published by Sam Hocevar. See -;
;-   http://sam.zoy.org/wtfpl/COPYING for more details.  -;
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
  • Zuletzt bearbeitet von Xaymar am So, Jun 20, 2010 14:51, insgesamt 8-mal bearbeitet

Noobody

BeitragMo, Jun 07, 2010 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Starten liess sich das Beispiel schon mal nicht - die benötigten Userlibs mitzuliefern wäre ganz nett Razz

Ich schaute mir danach die Engine mal an, nur um dann festzustellen, dass das eigentlich gewrapptes B3D ist. Ich hatte wohl irgendwie das Gefühl, es sei etwas neues (da du im WiP vom DXSDK redetest) - mein Fehler. Der Name 'Fast Render Engine' ist daher auch ein wenig misseführend, da es im Prinzip genau so langsam ist wie gewöhnliches B3D.

Dafür aber, dass es B3D für Neulinge ist, finde ich es aber relativ umständlich zu benutzen. B3D selbst ist schon sehr einfach, noch simpler machen geht vermutlich gar nicht.

Und wenn du schon so viel Wert auf die Lizenz legst, dann sollte sie wenigstens fehlerfrei sein Wink Zitat:
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;- Fast Render Engine (c) Michael Dirks 2010 - xxxx -;
;- May not be distributed without permission. -;
;-===================================================-;
;- You may share this engine with any member of -;
;- your team. You may not publish this engine or -;
;- any part of it without permission. Compiled -;
;- versions may be distributed without permission as -;
;- long as the sourcecode included in the distribution -;
;- (if any) does not contain any part of this SubEngine. -;
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Xaymar

ehemals "Cgamer"

BeitragMo, Jun 07, 2010 17:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Noo, hatte die Userlibs vergessen. Füge ich dem Packet noch hinzu. Und auch danke für die korrigierung^^

Und es ist (noch) schwer zu benutzen, da noch nicht alles fertig ist(Der Level handler/Weltsystem fehlt noch). Aber das wird noch.

Hier der Download mit Userlibs: https://www.blitzforum.de/upload/file.php?id=8730
Warbseite

Xaymar

ehemals "Cgamer"

BeitragMo, Jun 07, 2010 23:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Version 0.67 ist fertig:

Hinzugefügt wurden:
-- Besseres Terrain LoD.
-- Welt System (aka Level). Es können bisher nur Level geladen werden, der Editor kommt noch. Models, Terrains und Texturen können alle in dem Level gespeichert sein(weniger Dateien, dafür aber größer).
-- eg_UpdateGraphicsLevel() stellt nun alle Kamera Einstellungen ein.

Verbessert wurde:
-- Helper.bb (Vektoren wurden erweitert, Math_Distance4 und Math_Distance3ToBox(MinXBox, MinYBox, MinZbox, MaxXBox, MaxYBox, MaxZBox, X, Y, Z) hinzugefügt. (Danke an Darth für Vector_Normalize3)

Das alte Beispiel stark modifiziert:
BlitzBasic: [AUSKLAPPEN]
SeedRnd MilliSecs()

;!Includes
Include "Includes/Engine/Engine.bb" ;Die Engine. Verwaltet Models, Texturen und weiteres(benötigt Helper.bb)

;!Main Program
eg_OpenEngine()
Local Camera = eg_InitGraphics(800,600,32,GRAPHICS_MODE_WINDOWEDNOBORDER,60)

Local Tex.eg_Texture, Tex2.eg_Texture
Tex = eg_Texture_Load("L0Logo.png", TEXTURE_FLAG_FULLBRIGHT + TEXTURE_FLAG_SLOWEDIT + TEXTURE_FLAG_TRANSPARENT)
Tex2 = eg_Texture_Load("Colormap.png", TEXTURE_FLAG_FULLBRIGHT + TEXTURE_FLAG_SLOWEDIT); + TEXTURE_FLAG_TRANSPARENT)

Local Terrain.eg_Terrain = eg_Terrain_Load("Terrain 01.png")
Terrain\tTexture[1] = Tex2
Terrain\tTexture[2] = Tex
For X = 0 To 127
For Y = 0 To 127
PokeByte Terrain\bAlphaBank, X+Y*128, 255
For Z = 0 To 3
PokeByte Terrain\bAlphaBank, (X+Y*128)+Z*128*128, 255-Math_Distance2(X,Y,64,64)/128.0*512
Next
Next
Next
EntityPickMode Terrain\eModel\eLoD_Hgh, 2, 1
eg_Terrain_UpdateMesh(Terrain)
eg_Terrain_UpdateTextures()
eg_Terrain_SetScale(Terrain, 4096, 512, 4096)

While Not KeyHit(1)

If KeyHit(8) Then CurTexLvl = TEXTURE_LEVEL_LOW
If KeyHit(9) Then CurTexLvl = TEXTURE_LEVEL_MEDIUM
If KeyHit(10) Then CurTexLvl = TEXTURE_LEVEL_HIGH

Cls
eg_RenderGraphics(CurTexLvl)

If MouseDown(2)
CamPitch = CamPitch + MouseYSpeed()
CamYaw = CamYaw + MouseXSpeed()
RotateEntity Camera, CamPitch, CamYaw, 0
MoveMouse 400,300
EndIf

Local SpeedF# = KeyDown(32)-KeyDown(30)
Local SpeedS# = KeyDown(17)-KeyDown(31)
Local SpeedU# = KeyDown(16)-KeyDown(18)
If KeyDown(42) Or KeyDown(54)
SpeedF = SpeedF * 10
SpeedS = SpeedS * 10
SpeedU = SpeedU * 10
EndIf
MoveEntity Camera, SpeedF, SpeedU, SpeedS

Flip 0
Wend
eg_CloseEngine()
Warbseite

Xaymar

ehemals "Cgamer"

Betreff: Version 0.80

BeitragSa, Jun 19, 2010 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie ich im Worklog sagte, ist 0.80 die nächste rausgehende Version. Daher habe ich den Startpost mal stark überarbeitet.

Hinzugekommen zu der SubEngine sind:
Arrow Animierte Texturen
Arrow Sky-System
Arrow Partikel-System
Arrow TextureContainer (Halten mehrere Texturen fest in einer Bank. Knappes Beispiel in 07 - Sky, 3D Sky.bb.)

MfG
Michael Dirks( aka Xaymar (aka CGamer))

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group