SoftPixel Engine Wrapper 2.0 (only for B3D)
Übersicht

Gehe zu Seite 1, 2, 3, 4, 5, 6, 7 Weiter
![]() |
LukasBananaBetreff: SoftPixel Engine Wrapper 2.0 (only for B3D) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi folks,
seit langem habe ich nicht mehr an dem SoftPixel Engine Wrapper gearbeitet, sondern mehr an der eigentlichen Engine. Als mir gestern Jo0oker (hier aus dem Forum) seine Variante geschickt hat, und ich fest stellen musste, dass er leider noch nicht so sehr weit gekommen war, habe ich mal wieder Interesse daran gefunden, das ganze noch mal von grund auf neu zu machen. Jo0okers Idee der Variante ist aber schon sehr gut und genau so soll der neue Wrapper von mir erden. Mein Ansporn ist im Grunde nur die Tatsache, dass sich schon einige aus dem B3D Forum geäußert haben, dass sie endlich von DX7 loskommen und mit DX9 endlich ins 21. Jahrhundert einsteigen wollen ^^ Ich habe zudem bereits vor längerem ein externes kleines Programm geschrieben, welches die delcs und bb Datei zum Wrapper automatisch generieren kann, in dem es den C++ Code ließt. Der Wrapper wird die schöne Tatsache ausnutzen, dass B3D es erlaubt, die original Funktionen - wie z.B. "Graphics3D" usw. - zu überschreiben. Die "SoftPixelEngineWrapper.bb" Datei sieht dann in etwas so aus: Code: [AUSKLAPPEN] Function Graphics3D(Width%, Height%, Depth% = 32, Mode% = 0) spwGraphics3D(Width%, Height%, Depth%, Mode%) ; <- dies ist die Funktion aus der DLL End Function Wie die "SoftPixelEngineWrapper.delcs" Datei aussieht, könnt ihr euch auch selbst vorstellen. Das beste kommt noch: ich werde die erste Version bereits in eine Woche, wenn bei uns die Ferien anfangen veröffentlichen, pünktlich mit dem Release der SPE 1.9 für C++ ![]() Natürlich werden dann noch nicht alle B3D Funktionen ge-'wrapt' sein, aber die wichtigsten + SPE spezial Funktionen wie z.B. "CreateIcoSphere", "CreateTeapot" und ganz besonders "LoadShader", "SetShader" usw. sollten dann schon einmal zur Verfügung stehen um sich erst einmal an den neuen Wrapper zu gewöhnen. Wie auch bei Jo0okers Variante muss man, sofern man noch keien neuen SPE Funktionen verwenden will, lediglich die BB Datei mit "Include ..." einbinden. Ich hoffe es besteht noch ausreichend Interesse an einem solchen Projekt. Gruß, Lukas PS: @Jo0oker: danke bis her erst mal für deine guten Einfälle ![]() |
||
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Find ich gut!
![]() |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Ich hoffe es besteht noch ausreichend Interesse an einem solchen Projekt.
Das muss wohl ein schlechter Witz sein... klar gibt es Interesse!! Gibt sicher einige hier die zu Faul sind für BMax und an B3D hängen ![]() Ich freu mich, thnx&mfg ozzi |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
das wurgel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Heißt das man muss nur Include "diesunddas" vor einem fertigen 3D Projekt schreiben und schon läuft es mit DX9!? ![]() Das wird ein schniekes teil |
||
1 ist ungefähr 3 |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
WOOOHOOOOO =) | ||
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, genau so geht das mit den Includes.
Das war ja auch mein Grundgedanke, dass man nur eine Datei includes muss und schon läuft das eigene Projekt mit der SPE. Jedoch ist es nicht so leicht wie es jetzt klingt, dass wird LukasBanana aber auch nich merken, da man oft viel anpassen muss. lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
![]() |
LukasBanana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo das stimmt, man muss einiges anpassen, weil die gesammt Struktur in B3D natürlich eine andere ist als die der SPE.
Aber ich komme jetzt allgemein besser voran, weil ich mir inzwischen ein paar zusatz tools geschrieben haben, die für mich die komplett Arbeit des Generierens der Decls und BB Dateien übernimmt ![]() Im Wrapper (C++) sieht z.B. die Funktion "Graphics3D" so aus: Code: [AUSKLAPPEN] SPW_EXPORT void SPW_BBCALL spwGraphics3D(int Width, int Height, int Depth = 32, int Mode = 0)
{ g_Device = createDevice( g_DriverType, dim::size2di(Width, Height), Depth, "SoftPixel Engine Wrapper for Blitz3D", Mode == 1 ); g_UserControl = g_Device->getUserControl(); g_VideoDriver = g_Device->getVideoDriver(); g_SceneManager = g_Device->getSceneManager(); g_CollisionDetector = g_Device->getCollisionDetector(); g_FileSystem = g_Device->getFileSystem(); g_OSInformator = g_Device->getOSInformator(); g_StencilManager = g_SceneManager->getStencilManager(); g_Font = g_VideoDriver->loadFont(); g_VideoDriver->clearBuffers(); InitScancodeList(); } In der Decls dann so: Code: [AUSKLAPPEN] spwGraphics3D(Width%, Height%, Depth%, Mode%) : "spwGraphics3D@16"
Und in der BB Datei dann so: Code: [AUSKLAPPEN] Function Graphics3D(Width%, Height%, Depth% = 32, Mode% = 0)
spwGraphics3D(Width%, Height%, Depth%, Mode%) End Function Praktisch, dass man die original Funktionen von B3D überschreiben kann, dadurch kann man auch ganz neue Default-Parameter setzen. Z.B. hab ich für die Funktion "Color" nicht 3 sondern 4 Parameter vorgesehen. Wobei der 4 einen Default-Wert von 255 hat, damit eure Programme, die zunächst noch mit nur 3 Werten arbeiten, immer noch ohne Veränderung laufen ![]() Der 4. ist natürlich Alpha. Etwas was mich schon immer gestört hat in B3D, dass man für einfache Primitive wie Linien, Punkte, Kreise, 2D Images usw. keine Transparenz zum Zeichnen angeben konnte. Das wird jetzt alles anders! ![]() 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 |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
InitScancodeList(); <----
Würde ich aber noch einmal ändern, ist nicht gerade die sauberste Lösung ![]() Ich hatte diesen Funktionsaufruf damals in der Include gemacht, dass macht mehr sinn, da sonst vor Graphics keine Scancodes vorhanden sind. lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
![]() |
LukasBanana |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Jo0oker:
'UserInput' ist in der SPE erst nach dem Erstellen des Devices möglich! Deshalb kann ich das auch erst in der "Graphics3D" Funktion machen. @All: Bereits jetzt, also schon nach 3 Tagen sind 63 Funktionen verfügbar: Hier mal die bisherige BB Datei: Code: [AUSKLAPPEN] ;* ;* ********************************** ;* * ;* HLC Games - Software Entertainment * ;* * ;* (c) Copyright 2003 - Lukas Hermanns * ;* * ;* **************************************** ;* ___ ___ ___ _____ ;* /\ \ /\ \ /\ \ / ___\ ;* \ \ \_\_\ \ \ \ \ /\ \__/ ;* \ \ ___ \ \ \ \ \ \ \ ;* \ \ \__/\ \ \ \ \____ \ \ \___ ;* \ \__\ \ \__\ \ \______\ \ \_____\ ;* \/__/ \/__/ \/______/ \/_____/ ;* ;* **************************************** ;* ;* ********************** HLC SoftPixelEngine - (3.1.2008) ************************ ;* ;* (c) Copyright 2008 - Lukas Hermanns ;* ;* SoftPixel Engine Wrapper for BlitzBasic ;* Auto generated code from 16:03:01 23.3.2010 ;* Function WrapperVersion$() Return spwWrapperVersion$() End Function Function UseDirect3D9() spwUseDirect3D9() End Function Function UseOpenGL() spwUseOpenGL() End Function Function UseSoftware() spwUseSoftware() End Function Function MultiSamples(MultiSamples%) spwMultiSamples(MultiSamples%) End Function Function Vsync(Enable%) spwVsync(Enable%) End Function Function Graphics3D(Width%, Height%, Depth% = 32, Mode% = 0) spwGraphics3D(Width%, Height%, Depth%, Mode%) End Function Function EndGraphics() spwEndGraphics() End Function Function MessageBox(Message$, ObjType% = 0) spwMessageBox(Message$, ObjType%) End Function Function Beep(Frequency%, Duration%) spwBeep(Frequency%, Duration%) End Function Function CreateCamera%(Parent% = 0) Return spwCreateCamera%(Parent%) End Function Function CreateLight%(ObjType% = 1, Parent% = 0) Return spwCreateLight%(ObjType%, Parent%) End Function Function CopyEntity%(Entity%, Parent% = 0) Return spwCopyEntity%(Entity%, Parent%) End Function Function CreatePivot%(Parent% = 0) Return spwCreatePivot%(Parent%) End Function Function CreateMesh%(Parent% = 0) Return spwCreateMesh%(Parent%) End Function Function CreateCube%(Parent% = 0) Return spwCreateCube%(Parent%) End Function Function CreateCone%(Segments% = 8, Solid% = True, Parent% = 0) Return spwCreateCone%(Segments%, Solid%, Parent%) End Function Function CreateCylinder%(Segments% = 8, Solid% = True, Parent% = 0) Return spwCreateCylinder%(Segments%, Solid%, Parent%) End Function Function CreateSphere%(Segments% = 8, Parent% = 0) Return spwCreateSphere%(Segments%, Parent%) End Function Function CreateIcoSphere%(Segments% = 3, Parent% = 0) Return spwCreateIcoSphere%(Segments%, Parent%) End Function Function CreateTetrahedron%(Parent% = 0) Return spwCreateTetrahedron%(Parent%) End Function Function CreateDodecahedron%(Parent% = 0) Return spwCreateDodecahedron%(Parent%) End Function Function CreateIcosahedron%(Parent% = 0) Return spwCreateIcosahedron%(Parent%) End Function Function CreateCuboctahedron%(Parent% = 0) Return spwCreateCuboctahedron%(Parent%) End Function Function CreateOctahedron%(Parent% = 0) Return spwCreateOctahedron%(Parent%) End Function Function CreateTeapot%(Parent% = 0) Return spwCreateTeapot%(Parent%) End Function Function LoadMesh%(File$, Parent% = 0) Return spwLoadMesh%(File$, Parent%) End Function Function LoadAnimMesh%(File$, Parent% = 0) Return spwLoadAnimMesh%(File$, Parent%) End Function Function LoadMD2%(File$, Parent% = 0) Return spwLoadMD2%(File$, Parent%) End Function Function LoadBSP%(File$, Gamma# = 0.0, Parent% = 0) Return spwLoadBSP%(File$, Gamma#, Parent%) End Function Function BSPLighting(BSP%, UseLightmaps%) spwBSPLighting(BSP%, UseLightmaps%) End Function Function LoadSprite%(File$, Flags% = 0, Parent% = 0) Return spwLoadSprite%(File$, Flags%, Parent%) End Function Function RotateSprite(Sprite%, Angle#) spwRotateSprite(Sprite%, Angle#) End Function Function ScaleSprite(Sprite%, Width#, Height#) spwScaleSprite(Sprite%, Width#, Height#) End Function Function HandleSprite(Sprite%, X#, Y#) spwHandleSprite(Sprite%, X#, Y#) End Function Function AnimateMD2(MD2%, Mode% = 1, Speed# = 1.0, FirstFrame% = 0, LastFrame% = 0) spwAnimateMD2(MD2%, Mode%, Speed#, FirstFrame%, LastFrame%) End Function Function EntityParent(Entity%, Parent%, isGlobal% = False) spwEntityParent(Entity%, Parent%, isGlobal%) End Function Function GetParent%(Entity%) Return spwGetParent%(Entity%) End Function Function ShowEntity(Entity%) spwShowEntity(Entity%) End Function Function HideEntity(Entity%) spwHideEntity(Entity%) End Function Function FreeEntity(Entity%) spwFreeEntity(Entity%) End Function Function PositionEntity(Entity%, X#, Y#, Z#, isGlobal% = False) spwPositionEntity(Entity%, X#, Y#, Z#, isGlobal%) End Function Function MoveEntity(Entity%, X#, Y#, Z#) spwMoveEntity(Entity%, X#, Y#, Z#) End Function Function TranslateEntity(Entity%, X#, Y#, Z#, isGlobal% = False) spwTranslateEntity(Entity%, X#, Y#, Z#, isGlobal%) End Function Function RotateEntity(Entity%, X#, Y#, Z#, isGlobal% = False) spwRotateEntity(Entity%, X#, Y#, Z#, isGlobal%) End Function Function TurnEntity(Entity%, X#, Y#, Z#, isGlobal% = False) spwTurnEntity(Entity%, X#, Y#, Z#, isGlobal%) End Function Function ScaleEntity(Entity%, X#, Y#, Z#, isGlobal% = False) spwScaleEntity(Entity%, X#, Y#, Z#, isGlobal%) End Function Function PointEntity(Entity%, Target%, Roll# = 0.0) spwPointEntity(Entity%, Target%, Roll#) End Function Function ScaleMesh(Mesh%, X#, Y#, Z#) spwScaleMesh(Mesh%, X#, Y#, Z#) End Function Function FlipMesh(Mesh%) spwFlipMesh(Mesh%) End Function Function RotateMesh(Mesh%, X#, Y#, Z#) spwRotateMesh(Mesh%, X#, Y#, Z#) End Function Function PositionMesh(Mesh%, X#, Y#, Z#) spwPositionMesh(Mesh%, X#, Y#, Z#) End Function Function UpdateNormals(Mesh%) spwUpdateNormals(Mesh%) End Function Function EntityTexture(Entity%, Texture%, Frame% = 0, Index% = 0) spwEntityTexture(Entity%, Texture%, Frame%, Index%) End Function Function PaintEntity(Entity%, Brush%) spwPaintEntity(Entity%, Brush%) End Function Function CreateSurface%(Mesh%, Brush% = 0) Return spwCreateSurface%(Mesh%, Brush%) End Function Function ClearSurface(Surface%, ClearVertices% = True, ClearTriangles% = True) spwClearSurface(Surface%, ClearVertices%, ClearTriangles%) End Function Function GetSurface%(Mesh%, Index%) Return spwGetSurface%(Mesh%, Index%) End Function Function AddVertex(Surface%, X#, Y#, Z#, U# = 0.0, V# = 0.0, W# = 0.0) spwAddVertex(Surface%, X#, Y#, Z#, U#, V#, W#) End Function Function AddTriangle(Surface%, v0%, v1%, v2%) spwAddTriangle(Surface%, v0%, v1%, v2%) End Function Function CountSurfaces%(Mesh%) Return spwCountSurfaces%(Mesh%) End Function Function CountVertices%(Surface%) Return spwCountVertices%(Surface%) End Function Function CountTriangles%(Surface%) Return spwCountTriangles%(Surface%) End Function Function VertexCoords(Surface%, Index%, X#, Y#, Z#) spwVertexCoords(Surface%, Index%, X#, Y#, Z#) End Function Function VertexNormal(Surface%, Index%, X#, Y#, Z#) spwVertexNormal(Surface%, Index%, X#, Y#, Z#) End Function Function VertexColor(Surface%, Index%, Red%, Green%, Blue%, Alpha% = 255) spwVertexColor(Surface%, Index%, Red%, Green%, Blue%, Alpha%) End Function Function VertexTexCoords(Surface%, Index%, U#, V#, W# = 0.0, Layer% = 0) spwVertexTexCoords(Surface%, Index%, U#, V#, W#, Layer%) End Function Function UpdateMeshBuffer(Mesh%, Surface% = -1) spwUpdateMeshBuffer(Mesh%, Surface%) End Function Function VertexX#(Surface%, Index%) Return spwVertexX#(Surface%, Index%) End Function Function VertexY#(Surface%, Index%) Return spwVertexY#(Surface%, Index%) End Function Function VertexZ#(Surface%, Index%) Return spwVertexZ#(Surface%, Index%) End Function Function VertexNX#(Surface%, Index%) Return spwVertexNX#(Surface%, Index%) End Function Function VertexNY#(Surface%, Index%) Return spwVertexNY#(Surface%, Index%) End Function Function VertexNZ#(Surface%, Index%) Return spwVertexNZ#(Surface%, Index%) End Function Function VertexRed%(Surface%, Index%) Return spwVertexRed%(Surface%, Index%) End Function Function VertexGreen%(Surface%, Index%) Return spwVertexGreen%(Surface%, Index%) End Function Function VertexBlue%(Surface%, Index%) Return spwVertexBlue%(Surface%, Index%) End Function Function VertexAlpha%(Surface%, Index%) Return spwVertexAlpha%(Surface%, Index%) End Function Function VertexU#(Surface%, Index%) Return spwVertexU#(Surface%, Index%) End Function Function VertexV#(Surface%, Index%) Return spwVertexV#(Surface%, Index%) End Function Function VertexW#(Surface%, Index%) Return spwVertexW#(Surface%, Index%) End Function Function TriangleVertex%(Surface%, Index%, Corner%) Return spwTriangleVertex%(Surface%, Index%, Corner%) End Function Function EntityColor(Entity%, Red%, Green%, Blue%) spwEntityColor(Entity%, Red%, Green%, Blue%) End Function Function EntityAlpha(Entity%, Alpha#) spwEntityAlpha(Entity%, Alpha#) End Function Function EntityFX(Entity%, Mode%) spwEntityFX(Entity%, Mode%) End Function Function EntityBlend(Entity%, Mode%) spwEntityBlend(Entity%, Mode%) End Function Function EntityOrder(Entity%, Order%) spwEntityOrder(Entity%, Order%) End Function Function EntityX#(Entity%, isGlobal% = False) Return spwEntityX#(Entity%, isGlobal%) End Function Function EntityY#(Entity%, isGlobal% = False) Return spwEntityY#(Entity%, isGlobal%) End Function Function EntityZ#(Entity%, isGlobal% = False) Return spwEntityZ#(Entity%, isGlobal%) End Function Function EntityPitch#(Entity%, isGlobal% = False) Return spwEntityPitch#(Entity%, isGlobal%) End Function Function EntityYaw#(Entity%, isGlobal% = False) Return spwEntityYaw#(Entity%, isGlobal%) End Function Function EntityRoll#(Entity%, isGlobal% = False) Return spwEntityRoll#(Entity%, isGlobal%) End Function Function MeshWidth#(Mesh%) Return spwMeshWidth#(Mesh%) End Function Function MeshHeight#(Mesh%) Return spwMeshHeight#(Mesh%) End Function Function MeshDepth#(Mesh%) Return spwMeshDepth#(Mesh%) End Function Function EntityName$(Entity%) Return spwEntityName$(Entity%) End Function Function EntityDistance#(SrcEntity%, DestEntity%) Return spwEntityDistance#(SrcEntity%, DestEntity%) End Function Function CameraViewport(Camera%, X%, Y%, Width%, Height%) spwCameraViewport(Camera%, X%, Y%, Width%, Height%) End Function Function CameraRange(Camera%, Near#, Far#) spwCameraRange(Camera%, Near#, Far#) End Function Function LightColor(Light%, Red%, Green%, Blue%) spwLightColor(Light%, Red%, Green%, Blue%) End Function Function AmbientLight(Red%, Green%, Blue%) spwAmbientLight(Red%, Green%, Blue%) End Function Function RenderWorld(Tween# = 1.0) spwRenderWorld(Tween#) End Function Function UpdateWorld() spwUpdateWorld() End Function Function Flip() spwFlip() End Function Function WireFrame(Enable%) spwWireFrame(Enable%) End Function Function WireFrameType(ObjType%) spwWireFrameType(ObjType%) End Function Function EntityWireFrame(Entity%, ObjType%) spwEntityWireFrame(Entity%, ObjType%) End Function Function EntityType(Entity%, CollisionType%, Recursive% = False) spwEntityType(Entity%, CollisionType%, Recursive%) End Function Function EntityRadius(Entity%, Radius#) spwEntityRadius(Entity%, Radius#) End Function Function ResetEntity(Entity%) spwResetEntity(Entity%) End Function Function Collisions(SrcType%, DestType%, Method%, Response%) spwCollisions(SrcType%, DestType%, Method%, Response%) End Function Function CountCollisions%(Entity%) Return spwCountCollisions%(Entity%) End Function Function EntityPickMode(Entity%, Geometry% = 0, Obscurer% = True) spwEntityPickMode(Entity%, Geometry%, Obscurer%) End Function Function CameraPick%(Camera%, X%, Y%) Return spwCameraPick%(Camera%, X%, Y%) End Function Function KeyDown%(Scancode%) Return spwKeyDown%(Scancode%) End Function Function KeyHit%(Scancode%) Return spwKeyHit%(Scancode%) End Function Function KeyReleased%(Scancode%) Return spwKeyReleased%(Scancode%) End Function Function MouseDown%(Scancode%) Return spwMouseDown%(Scancode%) End Function Function MouseHit%(Scancode%) Return spwMouseHit%(Scancode%) End Function Function MouseReleased%(Scancode%) Return spwMouseReleased%(Scancode%) End Function Function MouseX%() Return spwMouseX%() End Function Function MouseY%() Return spwMouseY%() End Function Function MouseXSpeed%() Return spwMouseXSpeed%() End Function Function MouseYSpeed%() Return spwMouseYSpeed%() End Function Function MouseZSpeed%() Return spwMouseZSpeed%() End Function Function ShowPointer() spwShowPointer() End Function Function HidePointer() spwHidePointer() End Function Function MoveMouse(X%, Y%) spwMoveMouse(X%, Y%) End Function Function WaitMouse() spwWaitMouse() End Function Function MouseWait() spwMouseWait() End Function Function LoadShader%(sVertexShaderPath$, sPixelShaderPath$, VertexEntryPoint$, PixelEntryPoint$) Return spwLoadShader%(sVertexShaderPath$, sPixelShaderPath$, VertexEntryPoint$, PixelEntryPoint$) End Function Function SetShader(Entity%, Shader%) spwSetShader(Entity%, Shader%) End Function Function SetShaderInt(Shader%, Name$, Value%) spwSetShaderInt(Shader%, Name$, Value%) End Function Function SetShaderFloat(Shader%, Name$, Value#) spwSetShaderFloat(Shader%, Name$, Value#) End Function Function SetShaderVec3(Shader%, Name$, X#, Y#, Z#) spwSetShaderVec3(Shader%, Name$, X#, Y#, Z#) End Function Function FreeShader(Shader%) spwFreeShader(Shader%) End Function Function Color(Red%, Green%, Blue%, Alpha% = 255) spwColor(Red%, Green%, Blue%, Alpha%) End Function Function GetColor(X%, Y%) spwGetColor(X%, Y%) End Function Function ColorRed%() Return spwColorRed%() End Function Function ColorGreen%() Return spwColorGreen%() End Function Function ColorBlue%() Return spwColorBlue%() End Function Function Plot(X%, Y%) spwPlot(X%, Y%) End Function Function Line(X1%, Y1%, X2%, Y2%) spwLine(X1%, Y1%, X2%, Y2%) End Function Function Rect(X%, Y%, Width%, Height%, Solid% = True) spwRect(X%, Y%, Width%, Height%, Solid%) End Function Function CreateTexture%(Width%, Height%, Flags% = 0, Frame% = 0) Return spwCreateTexture%(Width%, Height%, Flags%, Frame%) End Function Function LoadTexture%(File$, Flags% = 0) Return spwLoadTexture%(File$, Flags%) End Function Function FreeTexture(Texture%) spwFreeTexture(Texture%) End Function Function ScaleTexture(Texture%, Width#, Height#) spwScaleTexture(Texture%, Width#, Height#) End Function Function CreateBrush%(Red% = 0, Green% = 0, Blue% = 0) Return spwCreateBrush%(Red%, Green%, Blue%) End Function Function LoadBrush%(File$, Flags% = 0, Width# = 1.0, Height# = 1.0) Return spwLoadBrush%(File$, Flags%, Width#, Height#) End Function Function FreeBrush(Brush%) spwFreeBrush(Brush%) End Function Function BrushTexture(Brush%, Texture%, Frame% = 0, Index% = 0) spwBrushTexture(Brush%, Texture%, Frame%, Index%) End Function Function PaintMesh(Mesh%, Brush%) spwPaintMesh(Mesh%, Brush%) End Function Function LoadImage%(File$) Return spwLoadImage%(File$) End Function Function DrawImage(ObjHandle%, X%, Y%, Frame% = 0) spwDrawImage(ObjHandle%, X%, Y%, Frame%) End Function Function DrawImageStretch(ObjHandle%, X%, Y%, Width%, Height%, MapX1# = 0.0, MapY1# = 0.0, MapX2# = 1.0, MapY2# = 1.0) spwDrawImageStretch(ObjHandle%, X%, Y%, Width%, Height%, MapX1#, MapY1#, MapX2#, MapY2#) End Function Function DrawImageRotate(ObjHandle%, X%, Y%, Angle#, Radius#) spwDrawImageRotate(ObjHandle%, X%, Y%, Angle#, Radius#) End Function Function ClsColor(Red%, Green%, Blue%) spwClsColor(Red%, Green%, Blue%) End Function Function CameraClsColor(Camera%, Red%, Green%, Blue%) spwCameraClsColor(Camera%, Red%, Green%, Blue%) End Function Function TextureBuffer%(Texture%, Frame% = 0) Return spwTextureBuffer%(Texture%, Frame%) End Function Function BackBuffer%() Return spwBackBuffer%() End Function Function SetBuffer(Buffer%) spwSetBuffer(Buffer%) End Function Function Text(X%, Y%, TextString$, CenterX% = False, CenterY% = False) spwText(X%, Y%, TextString$, CenterX%, CenterY%) End Function ; ================================================================ |
||
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 |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kann man schon testen und evtle bugs melden? Klingt sehr vielversprechend:) | ||
Warbseite |
![]() |
LukasBanana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich arbeite erst seit 3 Tagen daran ^^
Aber ich will schon jetzt am Wochenende die erste Version veröffentlichen! ![]() Ich bin schon einige meiner ersten/ alten B3D Tests am durch checken mit dem Wrapper. |
||
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 |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn ich mir das mal erlauben darf, EPICWIN ![]() Melde mich gerne als Tester ![]() Weiter so! mfg ozzi |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
LukasBanana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Freut mich, dass da immer noch einige Interesse dran haben ^^
Übrigens hab ich falsch nach den Anzahl Funktionen geguckt, es sind schon fast 200 Funktionen ![]() Gleich vorab: die SPE hat noch etwas Schwierigkeiten, wenn es sich bei den Texturen bzw. Bilder um NPOT Texturen handelt (Non-Power-Of-Two), d.h. Texturen mit einer Größe von z.B. 200x150 und nicht 256x128. Aber eigentlich sollte man - zumindest bei 3D Grafik - ohnehin darauf achten, dass die Texturen eine Größe von 2^n * 2^n hat. Gleich mal ne Frage an euch: weiß jemand von euch, was genau die Funktion "ScaleTexture" macht?? Es sieht so aus, also würde nicht die Texture skaliert, sondern die Vertex-TexCoords derer Modelle, die diese Texture haben. Ich bin im Moment noch etwas Ratlos, wie ich das im Wrapper umsetzen kann. |
||
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 |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die ScaleTexture![]() |
||
Warbseite |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
ScaleTexture beeinflusst soweit ich weiss einfach die Texturmatrix. In OpenGL ist das einfach glMatrixMode( GL_TEXTURE ); glScalef( ..... ), aber wie das in DirectX aussieht, weiss ich nicht. | ||
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 |
![]() |
LukasBanana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, das ist kein Problem. Die SPE kann für jeden Layer eines jeden Objektes die Texture Matrix festlegen.
Sowohl für OpenGL als auch für Direct3D9 (und auch für den SoftwareRenderer ^^) Aber das muss dann wohl für jedes Objekt getan werden, dass diese Texture hat. Ich glaub ich weiß wie ich das machen kann =) Danke für den Tipp ![]() |
||
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 |
![]() |
LukasBanana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Leute,
ich habe eben gerade in meinem Forum den Download-link zur aller ersten Alpha-Version des neuen Wrappers veröffentlicht! ![]() Hier ist der Link zum Beitrag: http://www.hlc-games.de/forum/...&t=112 Wenn ihr euch jetzt fragt, warum ich hier nicht direkt den Download-link geschickt habe, dann kann ich das folgender maßen beantworten: Ich will natürlich, dass mehr an meinem Forzum vorbeikommen, damit sich das irgendwann auch mal ein wenig füllt ![]() Ich hab da jetzt auch ein unter-forum namens "Multilingual" eingebaut, für die, die nicht so gut in Englisch sind oder keine Lust haben, immer alles zu übersetzen. Das ist so zu sagen die neue Laberecke, in der alles in jeder Sprache gefragt und beantwortet werden darf ^^ Wär also schön, wenn ihr bug-reports in meinem Forum postet. Gruß, Lukas PS: denkt daran: es ist erst mal eine ALPHA version ^^ also erwartet nicht gleich, dass eure alten Programme alle damit laufen ![]() |
||
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 |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin Leute,
ich habe nen Programm geschrieben, welches aus der DECLS eine .bmx macht, so dass man die SPE nun auch in BMax nutzen kann. Allerdings fehlen noch standard Parameter. Werde das Programm heute Abend mal veröffentlichen. lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
![]() |
LukasBanana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hört sich gut an ![]() Allerdings kann ich das leider nicht nutzen, da ich kein BMax habe. Kann mal jemand en Code sample schicken wie das da aussieht? Würd' mich ma interessieren. |
||
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 |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es geht fast wie in C/C++
über die WinAPI mit: LoadLibraryA (Bin gerade am Notebook und hab da kein Sourcecode). lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
Gehe zu Seite 1, 2, 3, 4, 5, 6, 7 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group