SoftPixel Engine Wrapper 2.0 (only for B3D)

Übersicht Sonstiges Projekte

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7  Weiter

Neue Antwort erstellen

ZaP

BeitragMo, Mai 31, 2010 11:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Debuglog meldet sich mit folgendem:
Code: [AUSKLAPPEN]

Fragment shader(s) were not successfully compiled before glLinkProgram() was called.  Link failed.
Starfare: Worklog, Website (download)

LukasBanana

BeitragMo, Mai 31, 2010 11:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du den Fragment Shader schon angepasst?
Ich hab ausversehen tex2d geschrieben anstatt texture2d. tex2d gibt's eig. nur in DirectX (also HLSL).
Bei mir korrigiert OpenGL das aber anscheinend automatisch, daher hab ich's erst nicht gemerkt.
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

ZaP

BeitragMo, Mai 31, 2010 12:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, hatte ich schon angepasst.
Starfare: Worklog, Website (download)

Noobody

BeitragMo, Mai 31, 2010 12:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Da musst du vermutlich auch noch den anderen Fehler korrigieren. Es sollte uniform sampler2D tex0; heissen und nicht sampler2D tex0;
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

ZaP

BeitragMo, Mai 31, 2010 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Ausgezeichnet... es funktioniert Very Happy
Starfare: Worklog, Website (download)
 

GERMAX

BeitragMo, Mai 31, 2010 20:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Vertex info
-----------
0(6) : error C0000: syntax error, unexpected '}' at token "}"
0(6) : error C0501: type name expected at token "}"

Fragment info
-------------
0(13) : error C0000: syntax error, unexpected '}' at token "}"
0(13) : error C0501: type name expected at token "}"


Wer sowas im log stehen hat, muß bei den Dateien

<ShaderTestVert.txt + ShaderTestFrag.txt>

nach dem } nochmal return drücken, sodass die Dateien in der nächsten freien Zeile enden (und nicht daneben!).


Die Fehler eines shader-grünlings zur Erbauung aller.
Smile
Erfolglos begonnene BB-Projekte:TRON/CONVOY/MYSTIC

LukasBanana

BeitragMo, Mai 31, 2010 20:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit der letzen leeren Zeile weiß ich auch, hab aber vergessen darauf hinzuweisen, sorry.
Das mit "uniform sampler2D tex0;" klingt sehr einleuchtend.
Hat bei mir (leider) vorher immer geklapt. Danke für den Tip! Werd's gleich mal editieren.
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana
 

PacMani

BeitragDi, Jun 01, 2010 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Darf ich kurz dazwischenquaken? Hab eine kleine Frage:
user posted image
Ich habe die Kollisionen zwischen Kugel und Schachbrett-Umgebung als
Collisions ColPlayer, ColLevel, ToPolygon, SlidingPrevent
festgelegt, aber die kleine Kugel geht immer etwas durch, obwohl sie Normalgröße hat... muss ich hier mit EntityRadius nacharbeiten, ist das ein Bug, oder werden Kollisionen hier nur durch Mittelpunkt erkannt?

LukasBanana

BeitragDi, Jun 01, 2010 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
EntityRadius sollte dafür eigentlich reichen, die SPE arbeitet ja auch mit einem Radius für die Kollisionserkennung.

Aber leider gibt's nur einen Radius. Der zweite wird ignoriert. Um mit Ovalen zu arbeiten, bedarf es der Engine an neuen KollisionsFunktionen.
Ich will irgendwann auch Capsule-Polygon und Cylinder-Polygon Kollisions einbauen, aber das kann noch dauern.
Ich habe mir sogar (ich glaub sogar schon 2008) ein Englisches Buch rund um Kollisionserkennung gekauft (50€ oder so). Aber da steht leider nicht für alles eine komplett Lösung drin.

Jetzt in der Beta Version habe ich endlich herausgefunden wie die Skalierung der Objekte aussieht.
Ich war anfangs irritiert, dass mit der SPE alles kleiner aussah. Da dachte ich erst es läge daran, dass bei B3D einfach alles 2x so groß ist. Statt dessen sind aber einfach die Standardobjetke (Würfel, Kugel usw.) doppelt so groß wie in der SPE. Alles andere ist normal.
Kann sein, dass ich den Standard-Kollisions-Radius noch nicht auf 1.0 gesetzt habe.
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana
 

PacMani

BeitragDi, Jun 01, 2010 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo, funktioniert nun super Wink
Habe noch ein anderes Problem: und zwar meint er beim Durchlaufen aller Objekte eines Types, das dieser plötzlich nicht mehr existiert, während es mit der B3D-Engine super läuft.
Ich hab's aber mal in deinem Forum gepostet Wink

LukasBanana

BeitragSo, Jun 06, 2010 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke mit den drei neuen Funktionen die ich eben gerade geschrieben habe könnt ihr auch einiges anfangen Very Happy

Code: [AUSKLAPPEN]
CountPicked%()
NextPicked%()
PreviousPicked%()

Mit diesen Funktionen könnt ihr alle Picking Kontakte abfangen die gefunden wurden Wink
Das heißt, nicht nur den ersten Kontakt, sondern auch den danach folgenden.
So kann man z.B. wie in Counter-Strike auch durch die Wand schießen und solche Geschichten Mr. Green
Die Kontakte sind automatisch immer sortiert vom Start- bis zum Endpunkt der Picking line (CameraPick ist ja im Endeffekt auch ein 'LinePick').
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana
 

Sliver

BeitragSo, Jun 06, 2010 17:26
Antworten mit Zitat
Benutzer-Profile anzeigen
hi Lukas

Sag mal, wie machst du das Intern mit dem BB3D-Fenster?
Fragst du das "BB-HWND" in deiner DLL ab, oder läuft das irgendwie anders?

Die Frage stell ich, weil ich gerne einen Wrapper für eine andere Sprache schreiben möchte Smile

Grüße, sliver

( PS kannst mir auch gerne über PM antworten)

Jo0oker

BeitragSo, Jun 06, 2010 18:58
Antworten mit Zitat
Benutzer-Profile anzeigen
So wie ich das sehe, wird ein neues Fenster über die WinAPI erstellt, dessen HWND wird dann auch genutzt.

lg Jo0oker
Tehadon, das kostenlose 3D RPG
www.tehadon.de
http://www.blitzforum.de/worklogs/14/
Das Abenteuer wird beginnen!

Silver_Knee

BeitragSo, Jun 06, 2010 19:57
Antworten mit Zitat
Benutzer-Profile anzeigen
joker selbst dann brauch er das APPHWND von der um über die Dll das fenster von b3d zu verstecken.

Xaymar

ehemals "Cgamer"

BeitragSo, Jun 06, 2010 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
HWND hwnd = FindWindowA("Blitz Runtime Class", "")
SetWindowPosA(hwnd, 0, 0, 0, 0, 128)


Oder als bb code:
BlitzBasic: [AUSKLAPPEN]
;userlib user32.dll
;.lib "user32.dll"
;api_SetWindowPos% (hwnd%, hWndInsertAfter%, x%, y%, cx%, cy%, wFlags%) : "SetWindowPos"
;
Const HWND_TOP = 0
Const SWP_HIDEWINDOW = $80
api_SetWindowPos(SystemProperty("AppHWND"),HWND_TOP,0,0,0,0,SWP_HIDEWINDOW)


Muss man nur nach suchen^^
Warbseite

LukasBanana

BeitragSo, Jun 06, 2010 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Das BB Fenster verstecke ich erst seit gestern ^^ d.h. bei der Version die's im Moment zum Download gibt noch gar nicht.
Wie Jo0oker bereits schrieb, erstellt die SPE einfach ein eigenes mittels WinAPI (für Windows) oder Xlib (für Linux). Schließlich braucht die SPE ja auch ein Fenster wenn sie nicht mit BB läuft Laughing .
Ich bin allerdings noch am überlegen, ob ich das BB Fenster ("Blitz Runtime Class" wäre das dann) von vorn herin verstecke oder erst mit einer extra Funktion vom Programmierer (z.B. "HideBBWindow" oder so) versteckt wird.
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

Silver_Knee

BeitragSo, Jun 06, 2010 22:37
Antworten mit Zitat
Benutzer-Profile anzeigen
machs sobald dein Graphics aufgerufen wird als zusatzparameter für den Includecode
Alla
BlitzBasic: [AUSKLAPPEN]
Function Graphics(w,h,d,m=0,hidewin=True)
If hidewin And SystemProperty("APPHWND")<>"";Lezteres für b+ wichtig
..
EndIf
...
End Function

LukasBanana

BeitragSo, Jun 06, 2010 22:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist auch eine gute Idee, danke Smile
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

ZaP

BeitragMo, Jun 07, 2010 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mal wieder ein wenig rumgespielt, und herausgefunden, dass CameraZoom nicht genau das tut, was es soll. Irgendwie zoomt SPE raus, wo BB reinzoomt, und umgekehrt.
Ausserdem funktioniert das VertexAlpha nicht so recht (abgesehen vom Alpha#-Parameter, der in zwischen 0 und 255 liegen muss, aber das erwähnte ich ja schon an anderer Stelle), bei mir wird das Mesh zwar dunkler, aber nicht transparenter. Hier mal ein Beispiel Code, der einfach in das Verzeichnis mit den BB Examples eingefügt werden kann:

BlitzBasic: [AUSKLAPPEN]
Include "SoftPixelEngineWrapper.bb"
useopengl()

Graphics3D 800, 600, 32, 2
SetBuffer BackBuffer()

Local cam = CreateCamera()
Local c = CreateMesh(cam)
Local s = CreateSurface(c)
Local sky = CreateCube()
ScaleEntity sky, -10, -10, -10
EntityTexture sky, LoadTexture("../media/DetailTexture.jpg")

CameraZoom cam, 1.5

EntityFX c, 1+2+16+32

PositionEntity c, 0, 0, 2.0

Repeat

f = AddVertex(s, -1, 1, 0)
AddVertex s, 1, 1, 0
AddVertex s, -1, -1, 0
AddVertex s, 1, -1, 0

VertexColor s, f+0, 255, 0, 0, 0.5 * 255.0
VertexColor s, f+1, 0, 255, 0, 0.5 * 255.0
VertexColor s, f+2, 0, 0, 255, 0.5 * 255.0
VertexColor s, f+3, 255, 255, 0, 0.5 * 255.0

AddTriangle s, f+0, f+1, f+2
AddTriangle s, f+1, f+3, f+2

TurnEntity cam, 0.1, 0, 0

UpdateWorld
RenderWorld

Text 0, 0, CountVertices(s) + " " + CountTriangles(s)

Flip

ClearSurface s

Until KeyHit(1)

End


Weiterhin scheint das AmbientLight auch nicht so ganz zu wollen, das ist irgendwie immer maximal.
Ich hoffe mal, das treibt die Entwicklung etwas voran Razz
Starfare: Worklog, Website (download)

LukasBanana

BeitragMo, Jun 07, 2010 13:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke schon mal für deinen Beispiel code, mit sowas kann ich auf jeden Fall was anfangen Smile

Vergesst aber bitte nicht "EndGraphics" vor "End". Die Funktion kann ich nicht so einfach wrappern, aber zum Schluss muss eben irgendwie der SPE mitgeteilt werden, jeden angevorderten Speicher wieder frei zu geben.
Abstürtze sind auch beim Beenden einees Programms nicht so schön.

KeyHit funktioniert bei mir irgendwie auch nicht so toll. Aber wie gesagt, ich guck, dass ich das richtig zum laufen bringe.

Zu CameraZoom: in der SPE ist das eig. der FOV Winkel. daher muss ich das umrechnen.
Wenn ich genau weiß wie die Rechnung dafür aussieht, kann ich das korrigieren,

Gruß,
Lukas
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group