Skip to content

Instantly share code, notes, and snippets.

@kenpower
kenpower / gist:4038626
Created November 8, 2012 12:52
Drawing a basic radar
Matrix radarTrans = Matrix.CreateScale(0.04f);
Matrix radarScreenTrans = Matrix.CreateScale(0.3f);
//draw radar background
spriteBatch.Begin(SpriteSortMode.Immediate, null, null, null, null, null, radarScreenTrans);
spriteBatch.Draw(radar, Vector2.Zero, Color.White);
spriteBatch.End();
//draw world entities
spriteBatch.Begin(SpriteSortMode.Immediate, null, null, null, null, null, radarTrans);
@kenpower
kenpower / gist:4038636
Created November 8, 2012 12:54
Create and use a List
//creat a list of sprite objects
List<Sprite> sprites=new List<Sprite>();
...
//populate a list of sprite objects
for (int i = 0; i < 50; i++)
{
Sprite s = new Sprite();
@kenpower
kenpower / FModManager.cpp
Last active October 13, 2015 12:17
Simple(est) FMOD manager. Just Creates the FMOD:::system object as a singleton.
#include "FModManager.h"
FMOD::System *FModManager::system=0;
FMOD::System* FModManager::System(){
if(!system){
FMOD_RESULT result;
@kenpower
kenpower / fragment.glsl
Created December 18, 2012 10:41
Basic GLSL 1.2 shader
#version 120
void main(void) {
gl_FragColor= vec4(1.0,1.0,1.0,1.0);
}
@kenpower
kenpower / main.cpp
Last active December 9, 2015 20:58
Load & Bind a GLSL shader in SFML
sf::Shader shader; //cretae an SFML shader object
//load, compile, link shader code
if(!shader.loadFromFile("vertex.glsl","fragment.glsl")){
exit(1); //error has occured
}
sf::Shader::bind(&shader); //select this shader for use in the pipeline
@kenpower
kenpower / gist:5099146
Created March 6, 2013 12:57
OpenGL Torus
void MyTorus(float u,float v,GLfloat fv[]){
const float TWO_PI= 3.141f*2;
float r=0.4f;
float R=1.3f;
float x_u=r*(float)cos(TWO_PI*u)+R;
fv[0]=x_u*(float)cos(TWO_PI*v); //x-coordinate
fv[1]=r*(float)sin(TWO_PI*u); //y-coordinate
fv[2]=x_u*(float)sin(TWO_PI*v); //z-coordinate
@kenpower
kenpower / gist:5107513
Created March 7, 2013 11:48
Orient a missile
public override void Draw(GameTime gametime, Camera camera)
{
Matrix orientation = Matrix.CreateFromYawPitchRoll(yawAngle, 0, 0);
Matrix world = orientation * Matrix.CreateTranslation(position);
foreach (ModelMesh m in model.Meshes)
{
foreach (BasicEffect e in m.Effects)
{
@kenpower
kenpower / gist:6711917
Created September 26, 2013 09:31
Using a matrix to position a sprite in XNA
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
// TODO: Add your drawing code here
rotation -= 0.03f;
Vector2 origin = new Vector2(invader.Width / 2, invader.Height / 2);
//spin in place
@kenpower
kenpower / gist:6899336
Created October 9, 2013 10:41
to determine if there is a gap between two number ranges (useful for SAT)
if(max1<min2 || max2 <min1) //check for gap
return true;// true=no overlap
@kenpower
kenpower / fps.cpp
Created October 30, 2013 14:52
FPS counter for SFML
class FPS
{
public:
/// @brief Constructor with initialization.
///
FPS() : mFrame(0), mFps(0) {}
/// @brief Update the frame count.
///