This 3d engine has been abandoned for a long time. In the FB forum some thread has already been written about it, but everything has been abandoned and the links no longer work.
It is not a great library, but it does its job. I have rewritten calls to FB format from PB. I have not been able to try them all, it is something impossible to do, they are more than 1000 routines !!!!
But for a few examples it has enough to check its operation.
Because the engine has been abandoned since 2012 (?) the serial numbers required for 100% operation are easy to find.
If we do not put a serial number, the biggest drawback is the appearance of the initial logo.
The original code can be found in many places, including serial number, but since I do not know the legality of the information, it is something that everyone should look for.
The link to the required DLLs:
https://github.com/Guevara-chan/Xors3D-for-PB
(serials are very easy to look for)
Main "Xors3d.bi"
Code: Select all
#Inclib "Xors3d"
#Include "xors3d_cons.bas"
#Include "xors3d_subs.bas"
' put here you serial code !!!
xKey("xxxxx-yyyyy-zzzzz-aaaaa-bbbbb")
xSetEngineSetting("Splash::TilingTime", "0.0")
xSetEngineSetting("Splash::AfterTilingTime", "0.0")
Consts "xors3d_cons.bas"
Code: Select all
'*****************************************************************
'* jepalza conversion to FB (2020) *
'* Xors3d Engine header file for FB.NET, (c) 2012 XorsTeam *
'* www: http:// (ya no existe ) xors3d.com *
'* e-mail: support@ (ya no existe ) xors3d.com *
'* *
'*****************************************************************
' Log levels
Const LOG_NO As Integer = 5
Const LOG_FATAL As Integer = 4
Const LOG_ERROR As Integer = 3
Const LOG_WARNING As Integer = 2
Const LOG_MESSAGE As Integer = 1
Const LOG_INFO As Integer = 0
' Log targets
Const LOG_HTML As Integer = 1
Const LOG_COUT As Integer = 2
Const LOG_STRING As Integer = 4
' Skinning types
Const SKIN_SOFTWARE As Integer = 2
Const SKIN_HARDWARE As Integer = 1
' Light sources types
Const LIGHT_DIRECTIONAL As Integer = 1
Const LIGHT_POINT As Integer = 2
Const LIGHT_SPOT As Integer = 3
' Texture filtering
Const TF_NONE As Integer = 0
Const TF_POINT As Integer = 1
Const TF_LINEAR As Integer = 2
Const TF_ANISOTROPIC As Integer = 3
Const TF_ANISOTROPICX4 As Integer = 4
Const TF_ANISOTROPICX8 As Integer = 5
Const TF_ANISOTROPICX16 As Integer = 6
' PixelShader versions
Const PS_1_1 As Integer = 0
Const PS_1_2 As Integer = 1
Const PS_1_3 As Integer = 2
Const PS_1_4 As Integer = 3
Const PS_2_0 As Integer = 4
Const PS_3_0 As Integer = 5
' VertexShader versions
Const VS_1_1 As Integer = 0
Const VS_2_0 As Integer = 1
Const VS_3_0 As Integer = 2
' Matrix semantics
Const WORLD As Integer = 0
Const WORLDVIEWPROJ As Integer = 1
Const VIEWPROJ As Integer = 2
Const VIEW_ As Integer = 3 ' antes "VIEW" pero FB da error
Const PROJ As Integer = 4
Const WORLDVIEW As Integer = 5
Const VIEWINVERSE As Integer = 6
Const WORLDINVERSETRANSPOSE As Integer = 15
Const WORLDINVERSE As Integer = 16
Const WORLDTRANSPOSE As Integer = 17
Const VIEWPROJINVERSE As Integer = 18
Const VIEWPROJINVERSETRANSPOSE As Integer = 19
Const VIEWTRANSPOSE As Integer = 20
Const VIEWINVRSETRANSPOSE As Integer = 21
Const PROJINVERSE As Integer = 22
Const PROJTRANSPOSE As Integer = 23
Const PROJINVRSETRANSPOSE As Integer = 24
Const WORLDVIEWPROJTRANSPOSE As Integer = 25
Const WORLDVIEWPROJINVERSE As Integer = 26
Const WORLDVIEWPROJINVERSETRANSPOSE As Integer = 27
Const WORLDVIEWTRANSPOSE As Integer = 28
Const WORLDVIEWINVERSE As Integer = 29
Const WORLDVIEWINVERSETRANSPOSE As Integer = 30
' Antialiasing types
Const AANONE As Integer = 0
Const AA2SAMPLES As Integer = 1
Const AA3SAMPLES As Integer = 2
Const AA4SAMPLES As Integer = 3
Const AA5SAMPLES As Integer = 4
Const AA6SAMPLES As Integer = 5
Const AA7SAMPLES As Integer = 6
Const AA8SAMPLES As Integer = 7
Const AA9SAMPLES As Integer = 8
Const AA10SAMPLES As Integer = 9
Const AA11SAMPLES As Integer = 10
Const AA12SAMPLES As Integer = 11
Const AA13SAMPLES As Integer = 12
Const AA14SAMPLES As Integer = 13
Const AA15SAMPLES As Integer = 14
Const AA16SAMPLES As Integer = 15
' Camera fog mode
Const FOG_NONE As Integer = 0
Const FOG_LINEAR As Integer = 1
' Camera projection mode
Const PROJ_DISABLE As Integer = 0
Const PROJ_PERSPECTIVE As Integer = 1
Const PROJ_ORTHOGRAPHIC As Integer = 2
' Entity FX flags
Const FX_NOTHING As Integer = 0
Const FX_FULLBRIGHT As Integer = 1
Const FX_VERTEXCOLOR As Integer = 2
Const FX_FLATSHADED As Integer = 4
Const FX_DISABLEFOG As Integer = 8
Const FX_DISABLECULLING As Integer = 16
Const FX_NOALPHABLEND As Integer = 32
' Entity blending modes
Const BLEND_ALPHA As Integer = 1
Const BLEND_MULTIPLY As Integer = 2
Const BLEND_ADD As Integer = 3
Const BLEND_PUREADD As Integer = 4
' Compare functions
Const CMP_NEVER As Integer = 1
Const CMP_LESS As Integer = 2
Const CMP_EQUAL As Integer = 3
Const CMP_LESSEQUAL As Integer = 4
Const CMP_GREATER As Integer = 5
Const CMP_NOTEQUAL As Integer = 6
Const CMP_GREATEREQUAL As Integer = 7
Const CMP_ALWAYS As Integer = 8
' Axis
Const AXIS_X As Integer = 1
Const AXIS_Y As Integer = 2
Const AXIS_Z As Integer = 3
' Texture loading flags
Const FLAGS_COLOR As Integer = 1
Const FLAGS_ALPHA As Integer = 2
Const FLAGS_MASKED As Integer = 4
Const FLAGS_MIPMAPPED As Integer = 8
Const FLAGS_CLAMPU As Integer = 16
Const FLAGS_CLAMPV As Integer = 32
Const FLAGS_SPHERICALENVMAP As Integer = 64
Const FLAGS_CUBICENVMAP As Integer = 128
Const FLAGS_R32F As Integer = 256
Const FLAGS_SKIPCACHE As Integer = 512
Const FLAGS_VOLUMETEXTURE As Integer = 1024
Const FLAGS_ARBG16F As Integer = 2048
Const FLAGS_ARBG32F As Integer = 4096
' Texture blending modes
Const TEXBLEND_NONE As Integer = 0
Const TEXBLEND_ALPHA As Integer = 1
Const TEXBLEND_MULTIPLY As Integer = 2
Const TEXBLEND_ADD As Integer = 3
Const TEXBLEND_DOT3 As Integer = 4
Const TEXBLEND_LIGHTMAP As Integer = 5
Const TEXBLEND_SEPARATEALPHA As Integer = 6
' Cube map faces
Const FACE_LEFT As Integer = 0
Const FACE_FORWARD As Integer = 1
Const FACE_RIGHT As Integer = 2
Const FACE_BACKWARD As Integer = 3
Const FACE_UP As Integer = 4
Const FACE_DOWN As Integer = 5
' Entity animation types
Const ANIMATION_STOP As Integer = 0
Const ANIMATION_LOOP As Integer = 1
Const ANIMATION_PINGPONG As Integer = 2
Const ANIMATION_ONE As Integer = 3
' Collision types
Const SPHERETOSPHERE As Integer = 1
Const SPHERETOBOX As Integer = 3
Const SPHERETOTRIMESH As Integer = 2
' Collision respones types
Const RESPONSE_STOP As Integer = 1
Const RESPONSE_SLIDING As Integer = 2
Const RESPONSE_SLIDING_DOWNLOCK As Integer = 3
' Entity picking modes
Const PICK_NONE As Integer = 0
Const PICK_SPHERE As Integer = 1
Const PICK_TRIMESH As Integer = 2
Const PICK_BOX As Integer = 3
' Sprite view modes
Const SPRITE_FIXED As Integer = 1
Const SPRITE_FREE As Integer = 2
Const SPRITE_FREEROLL As Integer = 3
Const SPRITE_FIXEDYAW As Integer = 4
' Joystick types
Const JOY_NONE As Integer = 0
Const JOY_DIGITAL As Integer = 1
Const JOY_ANALOG As Integer = 2
' Cubemap rendering modes
Const CUBEMAP_SPECULAR As Integer = 1
Const CUBEMAP_DIFFUSE As Integer = 2
Const CUBEMAP_REFRACTION As Integer = 3
' Shadow's blur levels
Const SHADOWS_BLUR_NONE As Integer = 0
Const SHADOWS_BLUR_3 As Integer = 1
Const SHADOWS_BLUR_5 As Integer = 2
Const SHADOWS_BLUR_7 As Integer = 3
Const SHADOWS_BLUR_11 As Integer = 4
Const SHADOWS_BLUR_13 As Integer = 5
' primitives types
Const PRIMITIVE_POINTLIST As Integer = 1
Const PRIMITIVE_LINELIST As Integer = 2
Const PRIMITIVE_LINESTRIP As Integer = 3
Const PRIMITIVE_TRIANGLELIST As Integer = 4
Const PRIMITIVE_TRIANGLESTRIP As Integer = 5
Const PRIMITIVE_TRIANGLEFAN As Integer = 6
' line separator types
Const LS_NUL As Integer = 0
Const LS_CR As Integer = 1
Const LS_LF As Integer = 2
Const LS_CRLF As Integer = 3
' physics: jotypes
Const JOINT_POINT2POINT As Integer = 0
Const JOINT_6DOF As Integer = 1
Const JOINT_6DOFSPRING As Integer = 2
Const JOINT_HINGE As Integer = 3
' physics: debug drawer modes
Const PXDD_NO As Integer = 0
Const PXDD_WIREFRAME As Integer = 1
Const PXDD_AABB As Integer = 2
Const PXDD_CONTACTS As Integer = 4
Const PXDD_JOINTS As Integer = 8
Const PXDD_JOINT_LIMITS As Integer = 16
Const PXDD_NO_AXIS As Integer = 32
' physics: ray casting modes
Const PXRC_SINGLE As Integer = 0
Const PXRC_MULTIPLE As Integer = 1
' Scancodes for keyboard and mouse
Const MOUSE_LEFT As Integer = 1
Const MOUSE_RIGHT As Integer = 2
Const MOUSE_MIDDLE As Integer = 3
Const MOUSE4 As Integer = 4
Const MOUSE5 As Integer = 5
Const MOUSE6 As Integer = 6
Const MOUSE7 As Integer = 7
Const MOUSE8 As Integer = 8
Const xMOUSE_LEFT As Integer = 1
Const xMOUSE_RIGHT As Integer = 2
Const xMOUSE_MIDDLE As Integer = 3
Const xMOUSE4 As Integer = 4
Const xMOUSE5 As Integer = 5
Const xMOUSE6 As Integer = 6
Const xMOUSE7 As Integer = 7
Const xMOUSE8 As Integer = 8
Const KEY_ESCAPE As Integer = 1
Const KEY_1 As Integer = 2
Const KEY_2 As Integer = 3
Const KEY_3 As Integer = 4
Const KEY_4 As Integer = 5
Const KEY_5 As Integer = 6
Const KEY_6 As Integer = 7
Const KEY_7 As Integer = 8
Const KEY_8 As Integer = 9
Const KEY_9 As Integer = 10
Const KEY_0 As Integer = 11
Const KEY_MINUS As Integer = 12
Const KEY_EQUALS As Integer = 13
Const KEY_BACK As Integer = 14
Const KEY_TAB As Integer = 15
Const KEY_Q As Integer = 16
Const KEY_W As Integer = 17
Const KEY_E As Integer = 18
Const KEY_R As Integer = 19
Const KEY_T As Integer = 20
Const KEY_Y As Integer = 21
Const KEY_U As Integer = 22
Const KEY_I As Integer = 23
Const KEY_O As Integer = 24
Const KEY_P As Integer = 25
Const KEY_LBRACKET As Integer = 26
Const KEY_RBRACKET As Integer = 27
Const KEY_RETURN As Integer = 28
Const KEY_ENTER As Integer = KEY_RETURN
Const KEY_LCONTROL As Integer = 29
Const KEY_RCONTROL As Integer = 157
Const KEY_A As Integer = 30
Const KEY_S As Integer = 31
Const KEY_D As Integer = 32
Const KEY_F As Integer = 33
Const KEY_G As Integer = 34
Const KEY_H As Integer = 35
Const KEY_J As Integer = 36
Const KEY_K As Integer = 37
Const KEY_L As Integer = 38
Const KEY_SEMICOLON As Integer = 39
Const KEY_APOSTROPHE As Integer = 40
Const KEY_GRAVE As Integer = 41
Const KEY_LSHIFT As Integer = 42
Const KEY_BACKSLASH As Integer = 43
Const KEY_Z As Integer = 44
Const KEY_X As Integer = 45
Const KEY_C As Integer = 46
Const KEY_V As Integer = 47
Const KEY_B As Integer = 48
Const KEY_N As Integer = 49
Const KEY_M As Integer = 50
Const KEY_COMMA As Integer = 51
Const KEY_PERIOD As Integer = 52
Const KEY_SLASH As Integer = 53
Const KEY_RSHIFT As Integer = 54
Const KEY_MULTIPLY As Integer = 55
Const KEY_MENU As Integer = 56
Const KEY_SPACE As Integer = 57
Const KEY_F1 As Integer = 59
Const KEY_F2 As Integer = 60
Const KEY_F3 As Integer = 61
Const KEY_F4 As Integer = 62
Const KEY_F5 As Integer = 63
Const KEY_F6 As Integer = 64
Const KEY_F7 As Integer = 65
Const KEY_F8 As Integer = 66
Const KEY_F9 As Integer = 67
Const KEY_F10 As Integer = 68
Const KEY_NUMLOCK As Integer = 69
Const KEY_SCROLL As Integer = 70
Const KEY_NUMPAD7 As Integer = 71
Const KEY_NUMPAD8 As Integer = 72
Const KEY_NUMPAD9 As Integer = 73
Const KEY_SUBTRACT As Integer = 74
Const KEY_NUMPAD4 As Integer = 75
Const KEY_NUMPAD5 As Integer = 76
Const KEY_NUMPAD6 As Integer = 77
Const KEY_ADD As Integer = 78
Const KEY_NUMPAD1 As Integer = 79
Const KEY_NUMPAD2 As Integer = 80
Const KEY_NUMPAD3 As Integer = 81
Const KEY_NUMPAD0 As Integer = 82
Const KEY_DECIMAL As Integer = 83
Const KEY_TILD As Integer = 86
Const KEY_F11 As Integer = 87
Const KEY_F12 As Integer = 88
Const KEY_NUMPADENTER As Integer = 156
Const KEY_RMENU As Integer = 221
Const KEY_PAUSE As Integer = 197
Const KEY_HOME As Integer = 199
Const KEY_UP As Integer = 200
Const KEY_PRIOR As Integer = 201
Const KEY_LEFT As Integer = 203
Const KEY_RIGHT As Integer = 205
Const KEY_END As Integer = 207
Const KEY_DOWN As Integer = 208
Const KEY_NEXT As Integer = 209
Const KEY_INSERT As Integer = 210
Const KEY_DELETE As Integer = 211
Const KEY_LWIN As Integer = 219
Const KEY_RWIN As Integer = 220
Const KEY_BACKSPACE As Integer = KEY_BACK
Const KEY_NUMPADSTAR As Integer = KEY_MULTIPLY
Const KEY_LALT As Integer = 184
Const KEY_CAPSLOCK As Integer = 58
Const KEY_NUMPADMINUS As Integer = KEY_SUBTRACT
Const KEY_NUMPADPLUS As Integer = KEY_ADD
Const KEY_NUMPADPERIOD As Integer = KEY_DECIMAL
Const KEY_DIVIDE As Integer = 181
Const KEY_NUMPADSLASH As Integer = KEY_DIVIDE
Const KEY_RALT As Integer = 56
Const KEY_UPARROW As Integer = KEY_UP
Const KEY_PGUP As Integer = KEY_PRIOR
Const KEY_LEFTARROW As Integer = KEY_LEFT
Const KEY_RIGHTARROW As Integer = KEY_RIGHT
Const KEY_DOWNARROW As Integer = KEY_DOWN
Const KEY_PGDN As Integer = KEY_NEXT
Const xKEY_ESCAPE As Integer = 1
Const xKEY_1 As Integer = 2
Const xKEY_2 As Integer = 3
Const xKEY_3 As Integer = 4
Const xKEY_4 As Integer = 5
Const xKEY_5 As Integer = 6
Const xKEY_6 As Integer = 7
Const xKEY_7 As Integer = 8
Const xKEY_8 As Integer = 9
Const xKEY_9 As Integer = 10
Const xKEY_0 As Integer = 11
Const xKEY_MINUS As Integer = 12
Const xKEY_EQUALS As Integer = 13
Const xKEY_BACK As Integer = 14
Const xKEY_TAB As Integer = 15
Const xKEY_Q As Integer = 16
Const xKEY_W As Integer = 17
Const xKEY_E As Integer = 18
Const xKEY_R As Integer = 19
Const xKEY_T As Integer = 20
Const xKEY_Y As Integer = 21
Const xKEY_U As Integer = 22
Const xKEY_I As Integer = 23
Const xKEY_O As Integer = 24
Const xKEY_P As Integer = 25
Const xKEY_LBRACKET As Integer = 26
Const xKEY_RBRACKET As Integer = 27
Const xKEY_RETURN As Integer = 28
Const xKEY_ENTER As Integer = KEY_RETURN
Const xKEY_LCONTROL As Integer = 29
Const xKEY_RCONTROL As Integer = 157
Const xKEY_A As Integer = 30
Const xKEY_S As Integer = 31
Const xKEY_D As Integer = 32
Const xKEY_F As Integer = 33
Const xKEY_G As Integer = 34
Const xKEY_H As Integer = 35
Const xKEY_J As Integer = 36
Const xKEY_K As Integer = 37
Const xKEY_L As Integer = 38
Const xKEY_SEMICOLON As Integer = 39
Const xKEY_APOSTROPHE As Integer = 40
Const xKEY_GRAVE As Integer = 41
Const xKEY_LSHIFT As Integer = 42
Const xKEY_BACKSLASH As Integer = 43
Const xKEY_Z As Integer = 44
Const xKEY_X As Integer = 45
Const xKEY_C As Integer = 46
Const xKEY_V As Integer = 47
Const xKEY_B As Integer = 48
Const xKEY_N As Integer = 49
Const xKEY_M As Integer = 50
Const xKEY_COMMA As Integer = 51
Const xKEY_PERIOD As Integer = 52
Const xKEY_SLASH As Integer = 53
Const xKEY_RSHIFT As Integer = 54
Const xKEY_MULTIPLY As Integer = 55
Const xKEY_MENU As Integer = 56
Const xKEY_SPACE As Integer = 57
Const xKEY_F1 As Integer = 59
Const xKEY_F2 As Integer = 60
Const xKEY_F3 As Integer = 61
Const xKEY_F4 As Integer = 62
Const xKEY_F5 As Integer = 63
Const xKEY_F6 As Integer = 64
Const xKEY_F7 As Integer = 65
Const xKEY_F8 As Integer = 66
Const xKEY_F9 As Integer = 67
Const xKEY_F10 As Integer = 68
Const xKEY_NUMLOCK As Integer = 69
Const xKEY_SCROLL As Integer = 70
Const xKEY_NUMPAD7 As Integer = 71
Const xKEY_NUMPAD8 As Integer = 72
Const xKEY_NUMPAD9 As Integer = 73
Const xKEY_SUBTRACT As Integer = 74
Const xKEY_NUMPAD4 As Integer = 75
Const xKEY_NUMPAD5 As Integer = 76
Const xKEY_NUMPAD6 As Integer = 77
Const xKEY_ADD As Integer = 78
Const xKEY_NUMPAD1 As Integer = 79
Const xKEY_NUMPAD2 As Integer = 80
Const xKEY_NUMPAD3 As Integer = 81
Const xKEY_NUMPAD0 As Integer = 82
Const xKEY_DECIMAL As Integer = 83
Const xKEY_TILD As Integer = 86
Const xKEY_F11 As Integer = 87
Const xKEY_F12 As Integer = 88
Const xKEY_NUMPADENTER As Integer = 156
Const xKEY_RMENU As Integer = 221
Const xKEY_PAUSE As Integer = 197
Const xKEY_HOME As Integer = 199
Const xKEY_UP As Integer = 200
Const xKEY_PRIOR As Integer = 201
Const xKEY_LEFT As Integer = 203
Const xKEY_RIGHT As Integer = 205
Const xKEY_END As Integer = 207
Const xKEY_DOWN As Integer = 208
Const xKEY_NEXT As Integer = 209
Const xKEY_INSERT As Integer = 210
Const xKEY_DELETE As Integer = 211
Const xKEY_LWIN As Integer = 219
Const xKEY_RWIN As Integer = 220
Const xKEY_BACKSPACE As Integer = KEY_BACK
Const xKEY_NUMPADSTAR As Integer = KEY_MULTIPLY
Const xKEY_LALT As Integer = 184
Const xKEY_CAPSLOCK As Integer = 58
Const xKEY_NUMPADMINUS As Integer = KEY_SUBTRACT
Const xKEY_NUMPADPLUS As Integer = KEY_ADD
Const xKEY_NUMPADPERIOD As Integer = KEY_DECIMAL
Const xKEY_DIVIDE As Integer = 181
Const xKEY_NUMPADSLASH As Integer = KEY_DIVIDE
Const xKEY_RALT As Integer = 56
Const xKEY_UPARROW As Integer = KEY_UP
Const xKEY_PGUP As Integer = KEY_PRIOR
Const xKEY_LEFTARROW As Integer = KEY_LEFT
Const xKEY_RIGHTARROW As Integer = KEY_RIGHT
Const xKEY_DOWNARROW As Integer = KEY_DOWN
Const xKEY_PGDN As Integer = KEY_NEXT
Consts "sample.bas"
Code: Select all
#Include "Xors3d.bi"
xGraphics3D(800, 600, 32, FALSE, TRUE)
Dim As Integer camera = xCreateCamera()
Dim As Integer light = xCreateLight()
Dim As Integer cube = xCreateCube()
xPositionEntity(cube, 0.0, 0.0, 10.0)
While 1
xTurnEntity(cube, 0.1, 0.1, 0.1)
xRenderWorld()
xText(10, 10, "Hello 3D World!")
xText(10, 30, "FPS: " + Str( xGetFPS() ) )
xFlip()
If xWinMessage("WM_CLOSE") Then Exit While
Wend