473,386 Members | 2,078 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

GDI+ in .NET

Hi All,

Is the .NET GDI+ limited to drawing in 2D space ? I need to draw in 3D and
need to specify the points in terms of X,Y,Z....is this possible in GDI ?
Cheers
ROhit
Nov 22 '05 #1
5 1981
"Rohit Sharma" <lt*************@hotmail.com> wrote in
news:#t*************@TK2MSFTNGP10.phx.gbl:
Is the .NET GDI+ limited to drawing in 2D space ? I need to draw in 3D
and need to specify the points in terms of X,Y,Z....is this possible
in GDI ?


The GDI Graphics class is for drawing 2D only. You've got alot of work to
do for 3D. For one you need to implement your own Z buffering. You also
have to handle when a 2D object is rotated off the plane of the 2D surface.
Ie. If a circle is rotated off the page you'd end up drawing an Ellipse on
the GDI surface. When that circle intersects another circle in 3d is when
you'll need that z-buffering.

You'll basically have to draw pixel by pixel instead of by primitive.

This is really alot of work. Why don't you use Managed DirectX instead?
It also has better perfomance than GDI.

see group: "Microsoft.public.win32.programmer.directx.managed "

Michael Lang
Nov 22 '05 #2
"Rohit Sharma" <lt*************@hotmail.com> wrote in
news:#t*************@TK2MSFTNGP10.phx.gbl:
Is the .NET GDI+ limited to drawing in 2D space ? I need to draw in 3D
and need to specify the points in terms of X,Y,Z....is this possible
in GDI ?


The GDI Graphics class is for drawing 2D only. You've got alot of work to
do for 3D. For one you need to implement your own Z buffering. You also
have to handle when a 2D object is rotated off the plane of the 2D surface.
Ie. If a circle is rotated off the page you'd end up drawing an Ellipse on
the GDI surface. When that circle intersects another circle in 3d is when
you'll need that z-buffering.

You'll basically have to draw pixel by pixel instead of by primitive.

This is really alot of work. Why don't you use Managed DirectX instead?
It also has better perfomance than GDI.

see group: "Microsoft.public.win32.programmer.directx.managed "

Michael Lang
Nov 22 '05 #3
Thanks very much.

Can you direct me to a primer web site on the subject ? (with .NET)

Thanks
Rohit
"Michael Lang" <ml@nospam.com> wrote in message
news:Xn********************************@207.46.248 .16...
"Rohit Sharma" <lt*************@hotmail.com> wrote in
news:#t*************@TK2MSFTNGP10.phx.gbl:
Is the .NET GDI+ limited to drawing in 2D space ? I need to draw in 3D
and need to specify the points in terms of X,Y,Z....is this possible
in GDI ?
The GDI Graphics class is for drawing 2D only. You've got alot of work to
do for 3D. For one you need to implement your own Z buffering. You also
have to handle when a 2D object is rotated off the plane of the 2D

surface. Ie. If a circle is rotated off the page you'd end up drawing an Ellipse on
the GDI surface. When that circle intersects another circle in 3d is when
you'll need that z-buffering.

You'll basically have to draw pixel by pixel instead of by primitive.

This is really alot of work. Why don't you use Managed DirectX instead?
It also has better perfomance than GDI.

see group: "Microsoft.public.win32.programmer.directx.managed "

Michael Lang

Nov 22 '05 #4
Open GL, nuff said.

DX is the crayola crayon and lego cube of 3d rendering APIs. oGL is mucho
nicer. Faster too.
"Rohit Sharma" <lt*************@hotmail.com> wrote in message
news:OA**************@TK2MSFTNGP09.phx.gbl...
Thanks very much.

Can you direct me to a primer web site on the subject ? (with .NET)

Thanks
Rohit
"Michael Lang" <ml@nospam.com> wrote in message
news:Xn********************************@207.46.248 .16...
"Rohit Sharma" <lt*************@hotmail.com> wrote in
news:#t*************@TK2MSFTNGP10.phx.gbl:
Is the .NET GDI+ limited to drawing in 2D space ? I need to draw in 3D
and need to specify the points in terms of X,Y,Z....is this possible
in GDI ?


The GDI Graphics class is for drawing 2D only. You've got alot of work to do for 3D. For one you need to implement your own Z buffering. You also have to handle when a 2D object is rotated off the plane of the 2D

surface.
Ie. If a circle is rotated off the page you'd end up drawing an Ellipse on the GDI surface. When that circle intersects another circle in 3d is when you'll need that z-buffering.

You'll basically have to draw pixel by pixel instead of by primitive.

This is really alot of work. Why don't you use Managed DirectX instead?
It also has better perfomance than GDI.

see group: "Microsoft.public.win32.programmer.directx.managed "

Michael Lang


Nov 22 '05 #5
There is a downloadable DirectX SDK that can be used for 3D
"Michael Lang" <ml@nospam.com> wrote in message
news:Xn********************************@207.46.248 .16...
"Rohit Sharma" <lt*************@hotmail.com> wrote in
news:#t*************@TK2MSFTNGP10.phx.gbl:
Is the .NET GDI+ limited to drawing in 2D space ? I need to draw in 3D
and need to specify the points in terms of X,Y,Z....is this possible
in GDI ?
The GDI Graphics class is for drawing 2D only. You've got alot of work to
do for 3D. For one you need to implement your own Z buffering. You also
have to handle when a 2D object is rotated off the plane of the 2D

surface. Ie. If a circle is rotated off the page you'd end up drawing an Ellipse on
the GDI surface. When that circle intersects another circle in 3d is when
you'll need that z-buffering.

You'll basically have to draw pixel by pixel instead of by primitive.

This is really alot of work. Why don't you use Managed DirectX instead?
It also has better perfomance than GDI.

see group: "Microsoft.public.win32.programmer.directx.managed "

Michael Lang

Nov 22 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

10
by: **ham | last post by:
I know that's an old dirty issue; GDI+ almost -the slowest part of the framework - has bothered many developers using it in animations. Even in managed C++ the performance is awful. Now, any dude...
6
by: James dean | last post by:
I have heard that the video drivers in GDI+ are a big performance issue. But is this only an issue with something like Games Programming i think...is this wrong?. What about a drawing application...
1
by: James dean | last post by:
Could someone explain how this works. I think the graphics card is used to do blitting and drawing shapes like rectangles. How does it draw using the Graphics card on the PC and why is this feature...
6
by: James dean | last post by:
I want a good site that will show clearly how much more functionality GDI+ has. I cannot seem to find anything other than sites that list "some" of the new functionality that GDI+ offers. A...
7
by: | last post by:
We create VC++ programs that does some GDI drawing functionality. I discovered GDI+ and this seems to be a big step forward, and appears to be standard available in Windows XP and Windows Server...
0
by: Brian Keating | last post by:
hi there i've a test program that creates a treeview and destroys it over and over, i keep track of the gdi object count for the process and see if they are ok. However when i switch on...
15
by: David Lozzi | last post by:
Howdy, I have a function that uploads an image and that works great. I love ..Nets built in upload, so much easier than 3rd party uploaders! Now I am making a public function that will take the...
7
by: Marcin Rzeznicki | last post by:
Hello, Do you think it is legitimate practice to mix GDI+ and GDI calls (via Get/ReleaseHDC()) in paint event of a control? I've heard there is possibility of performance loss while "locking"...
5
by: Jonathan Boivin | last post by:
Hi, I've got some problems with loading bills using a bill usercontrol I built. If I load all current bills in my test environment (156) everything is fine once, but repeating the operation...
1
by: Chris Dunaway | last post by:
When working with GDI+, calling the CreateGraphics method to draw on a control has normally been frowned upon and it is always emphasized to dispose of pens and brushes and other GDI objects lest...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.