Dark Source is a collection of nearly two hundred source code snippets that cover everything from simple math problems to advanced shader techniques. You can use the browser that accompanies this product to search through the snippets quickly and easily, and even search for keywords within any snippet to find what you are after immediately. Also, as Dark Basic Pro updates are released, more snippets will be placed in the ProjectsSnippets folder to demonstrate any new commands and features introduced.
All of the snippets included in this collection have been programmed by Dark Basic Pro's main developer Lee Bamber.
There are currently no special offers containing this product.
This list contains a brief description of all the snippets included in Dark Source:
3DPointPosition - find a 3D position from a pointing object
3DSoundCircle - place a sound in 3D space
AlienDemo - load and animate an alien model
AlternativeBumpMapping - apply a bump map to a sphere
AmbientLight - change the colour of ambient lighting
AnimatedSprite - create an animated sprite from an image sequence
AnimationFrameNumbers - load a model and manually scroll through its frames
AnySpeedMachine - demonstrates how to create machine independent timing for games
ApplicationWithOwnIcon - how to load and apply an icon to your executable
AReliefMapper - applies a parallax relief mapper to a cube object
AttachMediaToProject - shows how media can be attached to a DBP project
AutomaticCollision - demonstrates how automated collision is used
BigAndLittleEndians - converts endians from one format to the other
BoneAnimInHardwareTest - applies a bone animation shader to a model
BoneAnimInterpolation - demonstrates how to interpolate between two frames
BoneCollision - shows how to detect collision against moving limbs
BubbleSort - performs a bubble sort to arrange a list of items into order
BuiltInEffectsOnBoneModels - applies shader effects to an animating model
BumpMapMan - shows how low polygon model + bump produces high polygon result
BumpViewer - experiment on bump mapping a zombie model
CameraImageAlpha - shows how to create a camera that retains alpha data during rendering
CameraToObjectToCamera - shows how the orientation commands can be used
ChangeMemblockMesh - shows how to change a mesh using memblocks
ChangeTexturedMesh - shows how to use the change mesh command
ChatRadio - uses multiplayer commands to create a simple CHAT program
CheckDXWithoutDXInstalled - shows how to detect whether DirectX is installed
CheckModelLimbs - reveals the limb hierarchy of a loaded model
ColorValues - generates and saves out DWORD representations of RGB colours
CommentsInTypes - shows how you can place comments in types
ConstantUsage - shows how to use a constant variable in your program
CopyOneHTMPageToManyHTM - copies a master HTM file to many existing HTM files
CreateChartOfLogTime - parses a file and produces a visual chart of the results
CreateFoldersAndFilesFromList - takes relative filenames and creates its folder structure
CSG - demonstrates use of CSG against 3D objects (cutting them up)
CSGEffects - shows how to apply CSG to a staircase model
Custom3DCube - shows how to modify UV and NORMAL data of a default cube object
DangeroudDotUsage - shows how not to use the DOT command
dbpaint - small paint program written by Malcolm Bamber (BETA)
DBProTerrainEditorExport - shows how to load and use an export from TED
DeadReckoningSpline - demonstrates how to calculate dead reckoning against spline movement
DeadReckoningSpline3D - applies dead reckoning using 3D vectors
DebuggerShowingStrings - run this program to test string reporting in the debugger
DeleteArrayElement - shows how to delete an element from the unified array system
DeleteImageFromObject - apply and then remove a custom texture to an object
DeleteOneThousandObjects - trick to delete many objects very fast
DetectOlderFile - shows how to extract the full date from any file
DifferentBetweenEulerAndFreeFlight - compares euler and free flight handling
DrawSoundDataFromFile - draws the sound data visually to see how the WAV file looks
DX9Shaders - great collection of shaders to make your DBP programs look amazing
DX10Pipeline - streamline use of shaders to create a DX10 looking final render
EnclosedAreaVisibility - calculates whether areas on a map are enclosed or not
EncryptAndCompressBMP - a DBP projects can auto-compress and encrypt media
EulerVsFreeFlight - demonstrates simple euler and free flight rotation
EverybodyLikesBloom - implements a simple BLOOM shader and final render
ExcludeLimbExample - shows how to exclude limbs and list only on-screen objects
FadeObject - simply fades object down to zero
FastTextEntry - demonstrates how to accept fast entered text using buffering
FieldOfView - shows how to adjust a camera field of view
FileMapping - sends and retrieves a value and a string using the filemap
FillACircle - generates a filled circle using 2D commands
FireEffects - shows how to create animations from a series of still JPG images
FireParticleEmissions - shows how to create fire using the particle commands
FlameMaker - fire effect using a series of TGA images
FlyingCameraTracking - make the camera fly around using arrow keys
FollowCamera - make the camera follow an object
FreeFlightAndEulerCamera - test free flight rotation commands on one axis
FreeFlightShark - test free flight rotation commands on three axis
GameTrakApplication - detects and uses any GAME TRAK devices installed
GenerateMailshotFiles - generate many files from one main template
GetImageRetainsNewMipmap - demonstrates how mipmaps are automatic in DBP
GetLimbNames - shows the limb names of a loaded model
GetObjectSizes - shows the X Y and Z sizes of a loaded model
GetSpriteSize - demonstrates how to get the size of a sprite back after modification
GhostCamera - textures an object using an image generated from a second camera
GhostsInFog - ghosting of objects while buried in fog
GlassEffectOwntexture - shows bump and glass shader applied to wall object
GlueObjectToObject - shows how to glue two objects together
GoodSkyClouds - parallax based sky cloud cover technique
GrabbingRotatedSprites - rotate a sprite and grab the result and store it
ImpressiveShader - implements a cartoon shader on an object
IncrementingFloatArrays - creates a float array (real values) and displays the result
IndependentLimbRotation - changes the local rotation of limbs in a simple program
InfiniteDynamicLights - creates a large number of lights, and renders only the closest
InstanceOfObject - shows how to create an instanced object
InternationalFont - demonstrates setting and printing international fonts
InterpolateBetweenTwoFrames - interpolates between two frames of a loaded model
IntersectObject - casts a ray line through a 3D scene and reports when it intersects an object
IntersectObjectOnBoneAnimatedModel - intersect a ray cast with software animating model
IntersectObjectTilter - tests the intersection of a ball to a floor object
JapaneseFontExample - shows how to set and draw Japanese text
KeyStateCheck - program to grab key state values and record them on screen
LightMappingDemo - shows how to use the blend mode command
LimbPositionFromGluedObject - gets the world limb position from a glued object
LineMaker - simple rubber band expandable bound box technique
LoadFPSCLevel - code to load a typical FPSC level without entities (just the static)
LoadingADBOWithModulate2X - shows how to keep the material information when loading models
LockVertexData - shows how to lock vertexdata from an existing object
LotsOfSmokeDecals - use vertexdata commands to animate smoke
MakeAMesh - create a mesh using memblocks
MakeHoleInCube - use CSG commands to cut a hole into a default cube object
MakeImageFromMemblock - make an image from a section of memblock data
MakeMemblockFromCamera - grab the contents of a camera render to a memblock
MeasureHeightOfModel - measures the height of a loaded 3D object
MeshBlockingPortal - simple portal detector to see if a side is missing in a node
ModifyAMesh - uses a memblock to modify a mesh
MouseWheel - detect the value returned from the mouse wheel (Z axis)
MoveFoldersBackOneStep - takes contents of all folders and moves them to root folder
MultipleMusic - program to trigger multiple music tracks running side by side
MuzzleFlashThirdPerson - experiment to create a muzzle flash effect
NewEntryCommandMode - allows you to enter text at high speed without losing characters
NewLimbCollision - demonstrates limb collision commands
NewReliefMapper - simple and effective relief mapper shader applied to an object
NewSyncMask - uses SYNC MASK command to render only to specific cameras
NoTextureFilter - demonstrates texture filtering side by side with non-filtering
ObjectsInScreen - shows how the object in screen command works
OrientationAfterPivot - shows use of orientation command after pivot command applied
OwnKeyboardEntrySystem - simpe custom text entry system
PelicanDemo - shows a simple visual demo that uses no shaders, just camera capture
PerfectFadeTransition - implements a full screen fade transition
PerformingNOTOperations - shows how to perform a NOT operation
PickCylinderObject - creates a cylinder and detects when the user clicks it
PickObjectExample - shows how to grab and drag around an object on screen
PlayDVDVideoInGame - shows how to play a DVD movie inside your application
PlayerCarWorldCollision - demonstrates basic player collision
PointObjectLookingDown - shows how extreme angles can cause issues when pointing camera
PolygonCollisionWithXFile - custom polygon collision with X file models
PrecisionUnderstanding - shows how precision values are printed to the screen and why
ProjectWithCustomIcon - shows how to create a DBP project with a custom icon
ReDimADynamicArray - shows how to recreate an array without losing its contents
ReflectedSphere - demonstrates how to apply reflection shading
ReflectiveSkies - uses skies to populate cube maps for environmental mapping
ReflectiveWaterPlane - uses built-in reflection shading to create a water effect
RenderToImage - shows how to render a camera to an image
ReplaceINPUTwithENTRY - demonstrates the use of the ENTRY$() command
RGBColors - test RGB colours in a simple program that draws them
RotateASprite - small program to create an image and rotate it as a sprite
RotateMe - shows how to rotate an object on each axis
RotationOrder - shows how rotation order affects the final visual of the object
SaveAndLoadExample - demonstrates how to save an object then load it back
SaveArrayAsMemblock - save array data inside a memblock
ScalingANormal - shows how to scale a normal stored in an object
SeamlessLava - experiment to recreate flowing lava using a shader by Green Gandalf
SeeCrateChunk - a collection of crate and barrel fragments used for explosions
SelectPointOnSphere - demonstrates how to select a point on a sphere
SelfShadowingAnimations - uses built-in shadowing to cast self shadows
SetDisplayMode - demonstrates the use of the SET DISPLAY MODE command
SetObjectDiffuse - modifies an objects FVF to include DIFFUSE then changes the colour
ShadowShader - alien model being used to cast a high resolution real-time shadow
ShiftingAMatrix - shows how to scroll a matrix using the shift commands
ShinyGlassAndMetal - highly visual scene without the benefit of shaders
ShinyObject - creates a shiny statue visual using the built-in specular commands
ShowNewU5Commands - shows off new techniques introduced with upgrade 5.0
SimpleAutomaticCollision - tests the automatic collision system in DBP
SimpleBloomShader - great visual demo of reflection and bloom shading
SimpleCartoonObject - shows a simple built-in cartoon shader effect
SimpleDialogBox - a custom dialog box offering basic controls to the user
SimpleLeftClickRightPopup - simple pop-up system using custom implementation
SimpleSendImageOverNetGame - send and receive an image over the multiplayer commands
SketchUpInDBPro - loads a 3DS model created in SketchUp 5.0
SlidingCollision - demonstrates how to create sliding collision in DBP
SpecialEffects - shows how to use the shader effect commands
SpeedOfVariousLoops - tests the speed of various methods of creating code loops
SphereMapping - demonstrates how to use the built-in spherical mapping command
SplineDraw - calculates a CATMULROM spline for curved edges from control points
SpriteDiffuse - shows how to change the diffuse color of a default sprite
SpriteImage - shows how to change the image of a sprite
SpritesWithSemiTransparencyAlpha - loads in an image that already has alpha data inside it
StandaloneVsSharedVertexBuffers - shows how to use the set global object creation command
StereoscopicCameras - shows how to render anaglyph and iZ3D stereoscopic displays in DBP
SwitchOffScreenClipping - shows how to switch off the screen clipping system
SyncRate - demonstrates how the SYNC RATE command works and measures it
TerminateAfterDate - small piece of code which you can use to restrict your demo to a date
TestActiveApp - demonstrates how to use the ALWAYS ACTIVE ON and OFF commands
TestChineseText - shows how to set and print Chinese text to the screen
TestSetCameraToImage - grabs a camera image and saves it out
TextureAMatrix - shows how to texture a matrix object
TextureFilteringWithSky - how to create, texture and render a sky with filtering
TileBlur - demonstrates how to load an image and blur the contents, then save it out
TilingAMatrix - texturing a matrix with a four by four tile texture
UndoRedoList - implements a simple UNDO REDO system using an array
UniversalLoadToScale - one technique to scale your game geometry to a standard sizing
UsingAdvancedTerrainReference - Uses AdvancedTERRAIN to create a simple terrain
UsingDiffuseToShadeAPlane - manipulates the diffuse component of an object for visuals
UsingNormalization - demonstrates how and why SET NORMALIZATION ON command is used
UsingQueues - demonstrates the unified array system which includes lists and queues
UsingReflectionShading - shows how best to use the built-in reflection shader
UV Texture Rotation - takes the UV data of a plane and rotates it for visual effect
ViewCollisionCenterOfMesh - shows the actual collision center of a mesh
ViewerToolForReliefMapping - loads a model, applies a relief map for visual inspection
ViewFPSCModelAnimation - loads and plays FPSC animation file, reporting frame number
ViewLimbsAndNames - interogates an object and prints out all limb names visually
VisualDemo - cool demo combining a number of visual effects and music to finish it off
WaterEffect - water effect demo using a variety of media to create the visual
WaveShader - heavy use of 3D MATH commands to change shader constants and variables
WaypointsIn3D - experiment to create 3D waypoints system for inclusion into FPS Creator
WindowControl - code to find a window and switch focus to it
WriteWORDDataToFile - Write WORD data type element values to a file