|
From: <Dx 8a> <vin...@ed...> - 2001-10-31 04:52:37
|
In DirectX's DirectDraw, how do I draw a straight line from Point A having coordinates (x1,y1) to point B with coordinates (x2,y2). is there a specific function for this operation? Thanks __________________________________ www.edsamail.com |
|
From: Christiaan S. <ck...@ia...> - 2001-10-31 20:11:23
|
How do you put a pixel on the screen? |
|
From: Maan M. H. <mm...@pl...> - 2001-10-31 20:55:19
|
You need a graphics library. And the last time I checked this e-mail list is not concerned with graphics. This is the Dev-C++ list. Maan ----- Original Message ----- From: Christiaan Scholtz To: dev...@li... Sent: Wednesday, October 31, 2001 2:09 PM Subject: [Dev-C++] Drawing lines How do you put a pixel on the screen? |
|
From: Jason H. <jas...@bt...> - 2001-11-01 01:16:49
|
Because direct draw deals with the graphics memory at such a low level = it really depends upon what display mode you are in. In 8bpp (bits per = pixel) there is one byte per pixel. 2 for 16bpp, 3 for 24 bpp, and 4 for = 32bpp. Using that information you need to figure out the memory address = of the particular pixel you want to draw to, which in turn depends upon = the width and height of the window or screen you are drawing too. The = basic formula is: graphics_mem + x*bytespp + y*width where graphics_mem is a byte pointer (unsigned char) to the first = location in the memory for the graphics area, bytespp is bytes per pixel = (1, 2, 3, or 4), and width is the number of bytes to one horizontal line = of the display (specifically the pitch). x and y are the cooridinates of = the pixel you want to draw to. i.e. graphics_mem[x*bytespp + y*pitch] =3D colour_value; I have been learning all this from Windows Game Programming for Dummies, = which is getting old now, but is a good book to learn about Direct Draw = from (IMO). If all you need is basic graphics capabilities in a window = then you should look into the Windows GDI or alternativly if you are = familiar with the BGI graphics interface then there is a version = available for use with Dev-C++ (MinGW), goto = http://www.cs.colorado.edu/~main/bgi/ for more information. If you want any more info I'll try to help, Jason. ----- Original Message -----=20 From: Christiaan Scholtz=20 To: dev...@li...=20 Sent: Wednesday, October 31, 2001 8:09 PM Subject: [Dev-C++] Drawing lines How do you put a pixel on the screen? |
|
From: Christiaan S. <ck...@ia...> - 2001-11-01 19:09:00
|
Asshole. -----Original Message----- From: Maan M. Hamze <mm...@pl...> To: dev...@li... = <dev...@li...> Date: Wednesday, October 31, 2001 11:02 PM Subject: Re: [Dev-C++] Drawing lines >You need a graphics library. And the last time I checked this e-mail = list >is not concerned with graphics. This is the Dev-C++ list. >Maan >----- Original Message ----- >From: Christiaan Scholtz >To: dev...@li... >Sent: Wednesday, October 31, 2001 2:09 PM >Subject: [Dev-C++] Drawing lines > > >How do you put a pixel on the screen? > > >_______________________________________________ >Dev-cpp-users mailing list >Dev...@li... >https://lists.sourceforge.net/lists/listinfo/dev-cpp-users |
|
From: Christiaan S. <ck...@ia...> - 2001-11-03 19:06:48
|
But how do the graphics libraries put a pixel on the screen? There has = to be a way! I dont want to use a library |
|
From: Kevin W. <ke...@me...> - 2001-11-04 10:02:08
|
Hello everyone,
I have copied the following from the Windows API help files. Does it help?
-----------------------------------------
The SetPixel function sets the pixel at the specified coordinates to the
specified color.
COLORREF SetPixel(
HDC hdc, // handle of device context
int X, // x-coordinate of pixel
int Y, // y-coordinate of pixel
COLORREF crColor // pixel color
);
Parameters
hdc
Identifies the device context.
X
Specifies the x-coordinate, in logical units, of the point to be set.
Y
Specifies the y-coordinate, in logical units, of the point to be set.
crColor
Specifies the color to be used to paint the point.
Return Values
If the function succeeds, the return value is the RGB value that the
function sets the pixel to. This value may differ from the color specified
by crColor; that happens when an exact match for the specified color cannot
be found.
If the function fails, the return value is -1. To get extended error
information, call GetLastError.
Remarks
The function fails if the pixel coordinates lie outside of the current
clipping region.
Not all devices support the SetPixel function. For more information, see
GetDeviceCaps.
----------------------------------------------------------------------------
-------------
Regards,
Kevin.
----- Original Message -----
From: Christiaan Scholtz <ck...@ia...>
To: <dev...@li...>
Sent: Saturday, November 03, 2001 7:06 PM
Subject: [Dev-C++] Drawing lines
But how do the graphics libraries put a pixel on the screen? There has to
be a way! I dont want to use a library
|
|
From: ??? <ch...@hi...> - 2001-11-05 00:17:55
|
SGksIGFsbC4gDQoNCkluIG15IEV4cGVyaWVuY2UsIFNldFBpeGVsIHdpbGwgbm90IHdvcmsgcHJv cGVybHksIGVzcGVjaWFsbHkgaW4gUHJpbnRlciBEZXZpY2UuDQpNYW55IHByb2JsZW0gb2NjdXIg d2l0aCB0aGUgbWVtb3J5IGVycm9yIGluIGJpZyBwaXhlbCBpbWFnZS4gDQpGb3IgYmVpbmcgY29t cGF0aWJsZSBvbiBwcmludCB3aXRoIG90aGVyIERldmljZSBsaWtlIGRpc3BsYXksIHNoYXBlIG11 c3QgYmUgYSANCnByZS1jYWxjdWxhdGVkIGltYWdlIG9yIGxpbmUtY3VydmUtZmlsbCBjb21wbGV4 IHRoaW5nLiANClNvLCB5b3UgbWlnaHQgbm90IHVzaW5nIFNldFBpeGVsIGZ1bmN0aW9uIHRvIG1h a2Ugc2hhcGUgZnVuY3Rpb24gZGlyZWN0bHkgdG8gDQplbmQtZGV2aWNlLCBvciBlbHNlLiANCg0K VGhleSBzYWlkICJOb3QgYWxsIGRldmljZXMgc3VwcG9ydCB0aGUgU2V0UGl4ZWwgZnVuY3Rpb24i LiBJIHRoaW5rIGl0IHdpbGwgbWFpbmx5IA0KY29uY2VybmVkIFByaW50ZXIncyBtZW1vcnkgY2Fw YWNpdHkuIA0KDQpSZWdhcmRzDQpLaW0sIENoYW5naGFuDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXYtY3BwLXVzZXJzLWFkbWluQGxpc3RzLnNvdXJjZWZvcmdl Lm5ldCANCj4gW21haWx0bzpkZXYtY3BwLXVzZXJzLWFkbWluQGxpc3RzLnNvdXJjZWZvcmdlLm5l dF1PbiBCZWhhbGYgT2YgS2V2aW4gV29vZA0KPiBTZW50OiBTdW5kYXksIE5vdmVtYmVyIDA0LCAy MDAxIDc6MDIgUE0NCj4gVG86IGRldi1jcHAtdXNlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0DQo+ IFN1YmplY3Q6IFJlOiBbRGV2LUMrK10gRHJhd2luZyBsaW5lcw0KPiANCj4gDQo+IEhlbGxvIGV2 ZXJ5b25lLA0KPiANCj4gSSBoYXZlIGNvcGllZCB0aGUgZm9sbG93aW5nIGZyb20gdGhlIFdpbmRv d3MgQVBJIGhlbHAgZmlsZXMuIERvZXMgaXQgaGVscD8NCj4gDQo+IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IA0KPiBUaGUgU2V0UGl4ZWwgZnVuY3Rpb24gc2V0 cyB0aGUgcGl4ZWwgYXQgdGhlIHNwZWNpZmllZCBjb29yZGluYXRlcyB0byB0aGUNCj4gc3BlY2lm aWVkIGNvbG9yLg0KPiANCj4gQ09MT1JSRUYgU2V0UGl4ZWwoDQo+IA0KPiAgICAgSERDIGhkYywg Ly8gaGFuZGxlIG9mIGRldmljZSBjb250ZXh0DQo+ICAgICBpbnQgWCwgLy8geC1jb29yZGluYXRl IG9mIHBpeGVsDQo+ICAgICBpbnQgWSwgLy8geS1jb29yZGluYXRlIG9mIHBpeGVsDQo+ICAgICBD T0xPUlJFRiBjckNvbG9yICAvLyBwaXhlbCBjb2xvcg0KPiAgICApOw0KPiANCj4gDQo+IFBhcmFt ZXRlcnMNCj4gDQo+IGhkYw0KPiANCj4gSWRlbnRpZmllcyB0aGUgZGV2aWNlIGNvbnRleHQuDQo+ IA0KPiBYDQo+IA0KPiBTcGVjaWZpZXMgdGhlIHgtY29vcmRpbmF0ZSwgaW4gbG9naWNhbCB1bml0 cywgb2YgdGhlIHBvaW50IHRvIGJlIHNldC4NCj4gDQo+IFkNCj4gDQo+IFNwZWNpZmllcyB0aGUg eS1jb29yZGluYXRlLCBpbiBsb2dpY2FsIHVuaXRzLCBvZiB0aGUgcG9pbnQgdG8gYmUgc2V0Lg0K PiANCj4gY3JDb2xvcg0KPiANCj4gU3BlY2lmaWVzIHRoZSBjb2xvciB0byBiZSB1c2VkIHRvIHBh aW50IHRoZSBwb2ludC4NCj4gDQo+IFJldHVybiBWYWx1ZXMNCj4gDQo+IElmIHRoZSBmdW5jdGlv biBzdWNjZWVkcywgdGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgUkdCIHZhbHVlIHRoYXQgdGhlDQo+ IGZ1bmN0aW9uIHNldHMgdGhlIHBpeGVsIHRvLiBUaGlzIHZhbHVlIG1heSBkaWZmZXIgZnJvbSB0 aGUgY29sb3Igc3BlY2lmaWVkDQo+IGJ5IGNyQ29sb3I7IHRoYXQgaGFwcGVucyB3aGVuIGFuIGV4 YWN0IG1hdGNoIGZvciB0aGUgc3BlY2lmaWVkIA0KPiBjb2xvciBjYW5ub3QNCj4gYmUgZm91bmQu DQo+IElmIHRoZSBmdW5jdGlvbiBmYWlscywgdGhlIHJldHVybiB2YWx1ZSBpcyAtMS4gVG8gZ2V0 IGV4dGVuZGVkIGVycm9yDQo+IGluZm9ybWF0aW9uLCBjYWxsIEdldExhc3RFcnJvci4NCj4gDQo+ IFJlbWFya3MNCj4gDQo+IFRoZSBmdW5jdGlvbiBmYWlscyBpZiB0aGUgcGl4ZWwgY29vcmRpbmF0 ZXMgbGllIG91dHNpZGUgb2YgdGhlIGN1cnJlbnQNCj4gY2xpcHBpbmcgcmVnaW9uLg0KPiBOb3Qg YWxsIGRldmljZXMgc3VwcG9ydCB0aGUgU2V0UGl4ZWwgZnVuY3Rpb24uIEZvciBtb3JlIGluZm9y bWF0aW9uLCBzZWUNCj4gR2V0RGV2aWNlQ2Fwcy4NCj4gDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAtLS0tLS0t LS0tDQo+IC0tLS0tLS0tLS0tLS0NCj4gDQo+IFJlZ2FyZHMsDQo+ICAgICAgICAgS2V2aW4uDQo+ IA0KPiANCj4gDQo+IC0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0NCj4gRnJvbTogQ2hyaXN0 aWFhbiBTY2hvbHR6IDxja2hzYUBpYWZyaWNhLmNvbT4NCj4gVG86IDxkZXYtY3BwLXVzZXJzQGxp c3RzLnNvdXJjZWZvcmdlLm5ldD4NCj4gU2VudDogU2F0dXJkYXksIE5vdmVtYmVyIDAzLCAyMDAx IDc6MDYgUE0NCj4gU3ViamVjdDogW0Rldi1DKytdIERyYXdpbmcgbGluZXMNCj4gDQo+IA0KPiAN Cj4gQnV0IGhvdyBkbyB0aGUgZ3JhcGhpY3MgbGlicmFyaWVzIHB1dCBhIHBpeGVsIG9uIHRoZSBz Y3JlZW4/ICBUaGVyZSBoYXMgdG8NCj4gYmUgYSB3YXkhIEkgZG9udCB3YW50IHRvIHVzZSBhIGxp YnJhcnkNCj4gDQo+IA0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18NCj4gRGV2LWNwcC11c2VycyBtYWlsaW5nIGxpc3QNCj4gRGV2LWNwcC11c2Vy c0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQNCj4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQv bGlzdHMvbGlzdGluZm8vZGV2LWNwcC11c2Vycw== |
|
From: Jason H. <jas...@bt...> - 2001-10-31 11:29:35
|
You can either use the Windows GDI and get a device context etc..., which isn't recomended if you want speed, or you can write your own algorithm to do it. You might want to look up something like the Bresenhams algorithm which does that. If you want more information I can dig out a copy of Bresenhams I developed in college? Jason. ----- Original Message ----- From: "<Dx 8a>" <vin...@ed...> To: "Dev-C++ mailing list" <dev...@li...> Sent: Wednesday, October 31, 2001 5:02 AM Subject: [Dev-C++] Drawing lines > In DirectX's DirectDraw, how do I draw a straight line from Point A having coordinates (x1,y1) to point B with coordinates (x2,y2). is there a specific function for this operation? > > Thanks > > __________________________________ > www.edsamail.com > > _______________________________________________ > Dev-cpp-users mailing list > Dev...@li... > https://lists.sourceforge.net/lists/listinfo/dev-cpp-users |