• Advertisement


This topic is now archived and is closed to further replies.

filling a pixel... sure, SOUNDS easy.

This topic is 6837 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Guest Anonymous Poster
Funkymunky sounds like a nice chap
could you do a quick DDraw example?
the SDK is giving me a freakin headache...

just a fullscreen 640*480 or sumthing with lots of comments and how to put a single pixel. Thanks on beforehand.

Share this post

Link to post
Share on other sites
Now that I have that info, I still can't get the book for another 4 or 5 weeks. I have to buy some pics from my sisters wedding and get new shoes, a new wallet, some other things, and I really need a TNT2 ultra if I get the $ :P Anyway, I'm gonna try and get the book before the TNT2 and after the rest if I have the $ on that paycheck.. but if i go from $0 to $260 then the TNT2U it is :p Even if I get it ASAP, I have a dilemma. I have like weeks to kill before then. I love C++, I have learned tons about it, but can't use it really without any kind of graphics. I want to start writing my own game - can someone help me with a way, using basic C++ and VC++6 standard edition, to fill a pixel? I was told at first I could just write to a000:0000, but then they said that I couldn't, they being some friends of mine, and I don't know how to write to a specific location like that anyway. (sigh). If you can help me I would greatly appreciate it.


Share this post

Link to post
Share on other sites
OK, sure, here's an example of putting a pixel to the primary buffer (the screen that you see). I hope this helps.

I won't cover any windows that is not completely necessary, because it is a pain in the ass.

// Include DirectDraw thrash

// * Gasp! global variables! *

// Later down in the code, in the main loop
// (i'm assuming you put this stuff in a
// separate function

// Create Direct Draw Object
// Now set cooperative level
if(lpdd->SetCooperativeLevel(window_handle, DDSCL_FULLSCREEN | DDSCL_EXLCUSIVE | DDSCL_ALLOWREBOOT)!=DD_OK)
// Now set the display mode

// Now set up the primary surface
// Fill the big happy house to 0
// Set data fields

// create the primary surface

// Now get the video pointer
USHORT *vidmem_ptr;

// Lock the primary surface

// Now get the address of the memory and stuff it into the pointer
vidmem_ptr=(USHORT *)ddsd.lpSurface;
// Now set up where you want the pixel to go
int x=320,y=240,col=40;
// Now plot the pixel
vidmem_ptr[x+(y*ddsd.lPitch >> 1)] =col;

// Unlock the display memory

Whew! Now here's how to shut down DirectX:


Hope that helps!

That's how you do it, but that's just the opinion of a MADMAN!!! BWAHAHAAHAHA! :D :D :D

Share this post

Link to post
Share on other sites

  • Advertisement