Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 20 Jun 2000
Offline Last Active Jan 07 2012 01:18 PM

Topics I've Started


31 December 2011 - 08:29 AM

Hey GDers! Holy cow, has it seriously been 6 years since my last post? Although I'm not doing game development at the moment I am still coding and my latest project is photomonkee; an OpenCL (no, not GL) accelerated photo editor.

Attached File  screenie.PNG   303.07KB   27 downloads

I know that some of you create your own art assets and would love to get your input on what features I could add to the software to help. If you'd be interested in taking it for a test driver feel free to sign up at the site or drop me a message on here.

In terms of functionality, PhotoMonkee has a lot of the basics you'd find in a paint program plus a few extra bells and whistles. Don't get me wrong, it's no PhotoShop but it certainly isn't MSPaint either Posted Image
  • Basic Tools
    • Brush
    • Scale/Rotate/Translate
    • Magic Wand
    • Text
    • Eraser
    • Pixel Selection (with additive and removal modes)
    • Flood Fill
    • Basic Shapes
    • Canvas Zoom
    • Color Picker
  • Layering System
    • Blending
    • Opacity
    • Styles (only drop-shadow so far)
  • Canvas Cropping and Size Modification
  • Color Palette system with support for RGB, HSL, HSV and CMYK color models
  • Filters
    • Color Inversion, Gray-scale, Sepia
    • Brightness/Contrast
    • Color Adjustments
    • Sharpen, Emboss, Smooth (Convolution Filters)
    • Jitter, Pixelate (displacement filters)
  • Copy/Paste from within the application and between other applications
  • Unlimited Undo/Redo
  • Import from all of QImage's supported types (png jpg bmp gif pbm pgm tiff xbm xpm)
  • Export to all of QImage's supported types(bmp, jpg, png, ppm, tiff, xbm, xpm)
  • Save/Load via the PhotoMonkee file format *.pm (no, not PERL modules, silly!)
Thanks in advance for any help and suggestions. Happy New Year!

Can an HLSL pixel shader check if a texture stage is bound?

07 February 2006 - 03:04 PM

In short I'm looking to check if a texture is bound to texture stage 0. If it is, sample that register, otherwise, just use the vertex color. I couldn't find any built-in HLSL functions to query if a texture stage was bound or not. (note: this shader doesn't work, it's just pseudo-code.
texture tex0 : Texture1;
sampler2D SpriteSampler = sampler_state
	texture = (tex0);
	mipfilter = LINEAR;	

    float4 color;	
    if(SpriteSampler != NULL)
        color = tex2D(SpriteSampler, In.TexCoord);
        color = In.Color;
    return color;
} // end of PS
Thanks, ~S'Greth

Can an effect technique be called multiple times per begin/end scene?

07 February 2006 - 10:08 AM

I'm using an effect/technique to render two seperate objects. The first time I use the shader I bind TextureA to it and draw. The second time I use the shader I bind TextureB and draw. Oddly enough, the textures used for the objects are opposite what I expect them to be. I.E. the first object ends up with TextureB and the first has TextureA. I *could* create a new effect object for every element, but that just seems like a waste. One would think re-binding the texture would work OK. Is that the case? Thanks, ~S'Greth

Most efficient way to update/render particles?

18 July 2005 - 06:05 AM

This is more a query for 'how did you implement it' rather than a 'how do you code it'. In the past, I've always locked the vertex buffer, and then updated the geometry of each particle, then done one big render on the buffer. I suppose alternatively I could render each particle seperately, and change the transform for each one, but that's a lot of function calls on the CPU if the system is complex (i.e. that doesn't seem like it would scale). Oh, and I'm just using the fixed-function pipeline for now. I'm guessing you could write a shader to play some fancy games with using the color component or texture coordinate as the dynamic translation info, but I'm not coming up with any brilliant ideas. ~S'Greth

Using Global Variables in .fx files

21 August 2004 - 01:59 PM

I have a real simple vertex shader to test out an idea. I'm looking to modify the color of every other vertex in a stream. Using the effect framework, is it legal to have a "global" variable that I just increment, then mod it by two (looking for odd & even results). When stepping through the shader with the debugger visual studio shows that the shader is always reset to this.. "fCounter * (no storage) float" Do I need to forc the "fCounter" variable to be stored in a specific register or something to make it persist throughout the processing of the entire vertex stream? Thanks in advance, ~Rob
float fCounter = 0;
float4x4 matWorldViewProj : WORLDVIEWPROJ;

struct VS_OUTPUT
	float4 Pos : POSITION;
	float4 Color : COLOR0;

VS_OUTPUT VS(float3 vPosition : POSITION)
    VS_OUTPUT Output = (VS_OUTPUT)0;    
    fCounter += 1;
    if((fCounter % 2) == 0)	
	Output.Color.r = 1.0f;
	Output.Color.g = 1.0f;
	Output.Color.b = 1.0f;
	Output.Color.a = 1.0f;
	Output.Color.r = 1.0f;
	Output.Color.g = 0.0f;
	Output.Color.b = 0.0f;
	Output.Color.a = 1.0f;
    return Output;