Home
Products
Community
Manuals
Contact
Login or Signup

About the Blitz3D SDK

Blitz3D SDK ($100 USD - digital version)

Overview

The Blitz3D SDK allows you to use the highly popular Blitz3D engine with a range of programming languages including C, C++, C#, BlitzMax and PureBasic.

The package includes static libraries and interfaces, a single dynamic library to be shipped with your game and full API documentation.

The Blitz3D SDK has been tested with the following programming environments:
  • DevC (includes project template)
  • VisualC
  • VisualC# (includes .cs interface)
  • BlitzMax (includes BlitzMax module)
  • PureBasic (includes .pbi prototype file)
However, it should be usable with any programming language capable of linking with static libraries and that supports ints, float and 'c strings'.

Finally, programming a 3D application in C is now as easy as...
#include <windows.h>

#include "../include/blitz3dsdk.h"

void teapot(){
	bbGraphics3D(640,480,32,2);
	
	BBMeshModel teapot=bbLoadMesh( "media/teapot/teapot.x" );
	BBTexture tex=bbLoadTexture( "media/teapot/castle_env.bmp",128+8 );
	
	bbEntityTexture(teapot,tex,0,0);
	bbEntityFX(teapot,1);

	BBPivot cam_pivot=bbCreatePivot();
	BBCamera camera=bbCreateCamera( cam_pivot );
	bbPositionEntity(camera,0,0,-3);

	while (!bbKeyHit(1)){
		if(bbKeyDown(200)) bbTurnEntity(cam_pivot,3,0,0);
		if(bbKeyDown(208)) bbTurnEntity(cam_pivot,-3,0,0);
		if(bbKeyDown(203)) bbTurnEntity(cam_pivot,0,3,0);
		if(bbKeyDown(205)) bbTurnEntity(cam_pivot,0,-3,0);	
		bbTurnEntity(teapot,.1,.3,0);	
		bbUpdateWorld();
		bbRenderWorld();
		bbFlip();
	}
}

int WINAPI WinMain(HINSTANCE hThisInst,HINSTANCE hPrevInst,LPSTR lpszArgs,int nWinMode){
	bbBeginBlitz3D();
	teapot();
	return 0;
}

The Blitz3D SDK ships under the following license:
Blitz3D SDK License.

The Blitz3D SDK is copyright Blitz Research Ltd ("BRL"),
and remains the commercial property of BRL 

This license permits the holder the right to redistribute
the b3d.dll runtime library found in the redist folder with 
their own applications, provided the application includes
also the following sub-license:

"The file b3d.dll included in this application is copyright 
Blitz Research Ltd and may not be redistributed by any means
without the prior permission of Blitz Research Ltd."

All other files included in this archive may not be
redistributed by any means without the permission of BRL.

You are also permitted to create language 'wrappers' for the
Blitz3D SDK, provided such wrappers do not include any files
found in this archive, and in addition include the following
sub-license:

"This product may only be used by licensed owners of the Blitz3D
SDK."
 
All use of the Blitz3D SDK, b3d.dll or any other BRL product 
is entirely at the care of the holder who agrees to indemnify
BRL against any and all consequences (commercial or otherwise)
of using BRL's products or resulting software.
Please see the Blitz3D product page for more general information on the Blitz3D engine.

The Blitz3D SDK supports most of the commands included in Blitz3D, with the major exception being file system and file IO commands. Here is a full list of commands supported by the Blitz3D SDK:
bbBeginBlitz3D
bbEndBlitz3D
bbRuntimeError
bbSetBlitz3DDebugMode
bbSetBlitz3DDebugCallback
bbSetBlitz3DEventCallback
bbSetBlitz3DHWND
bbSetBlitz3DTitle
bbGraphics
bbFlip
bbBackBuffer
bbFrontBuffer
bbGraphicsWidth
bbGraphicsHeight
bbGraphicsDepth
bbEndGraphics
bbVWait
bbScanLine
bbTotalVidMem
bbAvailVidMem
bbSetGamma
bbUpdateGamma
bbGammaRed
bbGammaGreen
bbGammaBlue
bbPrint
bbWrite
bbInput$
bbLocate
bbCls
bbPlot
bbLine
bbRect
bbOval
bbColor
bbClsColor
bbOrigin
bbViewport
bbGetColor
bbColorRed
bbColorGreen
bbColorBlue
bbText
bbLoadFont
bbSetFont
bbFreeFont
bbFontWidth
bbFontHeight
bbStringWidth
bbStringHeight
bbLoadImage
bbLoadAnimImage
bbCreateImage
bbMaskImage
bbImageWidth
bbImageHeight
bbSaveImage
bbFreeImage
bbDrawImage
bbDrawBlock
bbDrawImageRect
bbDrawBlockRect
bbTileImage
bbTileBlock
bbHandleImage
bbMidHandle
bbAutoMidHandle
bbImageXHandle
bbImageYHandle
bbCopyImage
bbGrabImage
bbImageBuffer
bbScaleImage
bbResizeImage
bbRotateImage
bbTFormImage
bbTFormFilter
bbRectsOverlap
bbImagesOverlap
bbImagesCollide
bbImageRectOverlap
bbImageRectCollide
bbSetBuffer
bbGraphicsBuffer
bbLoadBuffer
bbSaveBuffer
bbReadPixel
bbWritePixel
bbCopyPixel
bbCopyRect
bbLockBuffer
bbUnlockBuffer
bbReadPixelFast
bbWritePixelFast
bbCopyPixelFast
bbCountGfxModes
bbGfxModeWidth
bbGfxModeHeight
bbGfxModeDepth
bbGfxModeExists
bbCountGfxDrivers
bbGfxDriverName$
bbSetGfxDriver
bbLoadSound
bbPlaySound
bbFreeSound
bbLoopSound
bbSoundPitch
bbSoundVolume
bbSoundPan
bbPlayMusic
bbPlayCDTrack
bbStopChannel
bbPauseChannel
bbResumeChannel
bbChannelPitch
bbChannelVolume
bbChannelPan
bbChannelPlaying
bbOpenMovie
bbCloseMovie
bbDrawMovie
bbMovieWidth
bbMovieHeight
bbMoviePlaying
bbGetKey
bbWaitKey
bbKeyDown
bbKeyHit
bbFlushKeys
bbMouseX
bbMouseY
bbMouseZ
bbMouseDown
bbMouseHit
bbGetMouse
bbWaitMouse
bbShowPointer
bbHidePointer
bbMoveMouse
bbMouseXSpeed
bbMouseYSpeed
bbMouseZSpeed
bbFlushMouse
bbJoyType
bbGetJoy
bbJoyDown
bbJoyHit
bbWaitJoy
bbFlushJoy
bbJoyHat
bbJoyX
bbJoyXDir
bbJoyY
bbJoyYDir
bbJoyZ
bbJoyZDir
bbJoyU
bbJoyUDir
bbJoyV
bbJoyVDir
bbJoyYaw#
bbJoyPitch#
bbJoyRoll#
bbGraphics3D
bbDither
bbWBuffer
bbAntiAlias
bbWireFrame
bbHWMultiTex
bbRenderWorld
bbUpdateWorld
bbCaptureWorld
bbClearWorld
bbTrisRendered
bbCreateCamera
bbCameraViewport
bbCameraClsMode
bbCameraClsColor
bbCameraRange
bbCameraZoom
bbCameraProjMode
bbCameraFogMode
bbCameraFogColor
bbCameraFogRange
bbCameraProject
bbProjectedX#
bbProjectedY#
bbProjectedZ#
bbEntityInView
bbAmbientLight
bbCreateLight
bbLightRange
bbLightColor
bbLightConeAngles
bbCreatePivot
bbCreateCube
bbCreateSphere
bbCreateCylinder
bbCreateCone
bbCreatePlane
bbCreateMirror
bbCopyEntity
bbLoadTexture
bbLoadAnimTexture
bbCreateTexture
bbFreeTexture
bbTextureBlend
bbTextureCoords
bbScaleTexture
bbPositionTexture
bbRotateTexture
bbTextureWidth
bbTextureHeight
bbTextureBuffer
bbTextureName$
bbGetBrushTexture
bbTextureFilter
bbClearTextureFilters
bbSetCubeFace
bbSetCubeMode
bbCreateBrush
bbLoadBrush
bbFreeBrush
bbBrushColor
bbBrushAlpha
bbBrushBlend
bbBrushFX
bbBrushShininess
bbBrushTexture
bbGetEntityBrush
bbGetSurfaceBrush
bbCountGfxModes3D
bbGfxMode3D
bbWindowed3D
bbGfxMode3DExists
bbGfxDriver3D
bbGfxDriverCaps3D
bbHWTexUnits
bbVectorYaw#
bbVectorPitch#
bbTFormPoint
bbTFormVector
bbTFormNormal
bbTFormedX#
bbTFormedY#
bbTFormedZ#
bbPositionEntity
bbMoveEntity
bbTranslateEntity
bbEntityX#
bbEntityY#
bbEntityZ#
bbRotateEntity
bbTurnEntity
bbPointEntity
bbAlignToVector
bbEntityRoll#
bbEntityYaw#
bbEntityPitch#
bbGetMatElement#
bbScaleEntity
bbEntityParent
bbGetParent
bbCountChildren
bbGetChild
bbFindChild
bbShowEntity
bbHideEntity
bbEntityAutoFade
bbEntityOrder
bbFreeEntity
bbEntityColor
bbEntityAlpha
bbEntityShininess
bbEntityTexture
bbEntityBlend
bbEntityFX
bbPaintEntity
bbCollisions
bbClearCollisions
bbEntityType
bbGetEntityType
bbResetEntity
bbEntityRadius
bbEntityBox
bbEntityCollided
bbCountCollisions
bbCollisionX#
bbCollisionY#
bbCollisionZ#
bbCollisionNX#
bbCollisionNY#
bbCollisionNZ#
bbCollisionTime#
bbCollisionEntity
bbCollisionSurface
bbCollisionTriangle
bbEntityPickMode
bbLinePick
bbEntityPick
bbCameraPick
bbPickedX#
bbPickedY#
bbPickedZ#
bbPickedNX
bbPickedNY
bbPickedNZ
bbPickedTime
bbPickedEntity
bbPickedSurface
bbPickedTriangle
bbLoadMesh
bbLoadAnimMesh
bbLoaderMatrix
bbCopyMesh
bbCreateMesh
bbAddMesh
bbFlipMesh
bbPaintMesh
bbLightMesh
bbFitMesh
bbScaleMesh
bbRotateMesh
bbPositionMesh
bbUpdateNormals
bbMeshesIntersect
bbMeshWidth#
bbMeshHeight#
bbMeshDepth#
bbMeshCullBox
bbCountSurfaces
bbGetSurface
bbCreateSurface
bbPaintSurface
bbClearSurface
bbFindSurface
bbAddVertex
bbAddTriangle
bbVertexCoords
bbVertexNormal
bbVertexColor
bbVertexTexCoords
bbCountVertices
bbCountTriangles
bbVertexX#
bbVertexY#
bbVertexZ#
bbVertexNX#
bbVertexNY#
bbVertexNZ#
bbVertexRed#
bbVertexGreen#
bbVertexBlue#
bbVertexAlpha#
bbVertexU#
bbVertexV#
bbVertexW#
bbTriangleVertex
bbEntityClass$
bbEntityName$
bbNameEntity
bbEntityID
bbSetEntityID
bbCaptureEntity
bbEntityVisible
bbEntityDistance#
bbDeltaYaw#
bbDeltaPitch#
bbAnimate
bbExtractAnimSeq
bbAddAnimSeq
bbSetAnimKey
bbLoadAnimSeq
bbSetAnimTime
bbAnimSeq
bbAnimLength
bbAnimTime#
bbAnimating
bbCreateTerrain
bbLoadTerrain
bbTerrainDetail
bbTerrainShading
bbModifyTerrain
bbTerrainSize
bbTerrainHeight#
bbTerrainX#
bbTerrainY#
bbTerrainZ#
bbCreateSprite
bbLoadSprite
bbSpriteViewMode
bbRotateSprite
bbScaleSprite
bbHandleSprite
bbLoadMD2
bbAnimateMD2
bbMD2AnimTime
bbMD2AnimLength
bbMD2Animating
bbLoadBSP
bbBSPAmbientLight
bbBSPLighting
bbCreateListener
bbEmitSound