Archived

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

DDLoadBitmap, cheating ??

This topic is 5115 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

well, it depends.

If you want to work as a programmer, at least know about the format of a BMP, and how to load files manually.

If you do this, and choose to use DDUTIL I don''t think thats cheating, as long as you know why it works.

DDUTIL you can find in the dx sdk.

Share this post


Link to post
Share on other sites
It's not cheating... it's using an available tool. Pre-written, pre-tested, and easy to use, and free.
Do you think it's cheating when a company licences Renderware or the Quake engine?
Do you think it's cheating when you use D3D or OpenGL rather than writing pixels to screen memory?
Do you think it's cheating to use the fixed pipeline rather than writing the lights, texgen, and other things yourself in software, or as a shader?
Do you think it's cheating when you use the C++ compiler Microsoft built?
Do you think it's cheating when you use Photoshop for your bitmaps?
Do you think it's cheating when you use 3DS Max for your models and animation?
Do you think it's cheating when Character Studio is used to help your animate your 3D models?

Granted, knowing how to load at least one bitmap format COULD be useful and instructive. Would someone not hire you because you didn't know this one thing? No. Programming is a collection of many skills in many areas. Nobody knows everything. Just try to be well rounded. Don't just focus on 3D and nothing else.

[edited by - namethatnobodyelsetook on December 13, 2003 3:19:49 PM]

Share this post


Link to post
Share on other sites
This is a link to a page that explains a ton of graphics file formats. (Happens to be hosted by gamedev =) )

http://www.wotsit.org/search.asp?s=graphics

I don''t think it''s cheating either, but I also think it would only take a couple hours to go through a tutorial found easily on the web about loading bmp files and write your own function. Then just keep it around for whenever you need it and you don''t need to worry about who owns it or what system it runs on or whatever.

Share this post


Link to post
Share on other sites
I wasn''t going to comment on namethatnobodytook, but since he made such a "great" point, allow me to put some emphasis on mine.

quote:

Do you think it''s cheating when a company licences Renderware or the Quake engine?



Not really, but you need to learn how to use those engines.

quote:

Do you think it''s cheating when you use D3D or OpenGL rather than writing pixels to screen memory?



Hmm, d3d and ogl write pixels to screen memory? I didn''t know that. But in order to USE gl or DX, you need to learn how it works.

quote:
Do you think it''s cheating to use the fixed pipeline rather than writing the lights, texgen, and other things yourself in software, or as a shader?


OH, so those things are not part of the pipeline ?

and again, we need to learn how to make shaders, lights, and textures.

quote:

Do you think it''s cheating when you use the C++ compiler Microsoft built?



No. but its a stupid choice! Again, learning the ins and outs of the compiler and C++ before you use it.




so on and so on and so on.

quote:

Granted, knowing how to load at least one bitmap format COULD be useful and instructive.



There is only 1 bitmap (.bmp) format.

And no it''s not cheating to use 3dsmax, photoshop or whatever. These things are called "tools." You need to learn how to use them.

I am not against using DDUtils, but at least know why they works!

Man, come on now!

Share this post


Link to post
Share on other sites
Why do people have to nitpick where there are no nits that need picking? Sigh.

quote:

quote:

Do you think it''s cheating when a company licences Renderware or the Quake engine?


Not really, but you need to learn how to use those engines.


...and you need to learn how to use DDUtil. You need to learn any tool. My point is that these tools will also lift a burden, just like DDUtil will. In fact, part of them will lift the same burden... but people don''t call these game developers cheaters for their choice of tools.
quote:

quote:

Do you think it''s cheating when you use D3D or OpenGL rather than writing pixels to screen memory?


Hmm, d3d and ogl write pixels to screen memory? I didn''t know that. But in order to USE gl or DX, you need to learn how it works.


Indirectly, that''s exactly what D3D and OGL end up doing in a combination of MS''s code and framework, or the OpenGL framework, the IHV''s driver working with the DX or OGL framework. The IHV also works together with the standard hardware frameworks of AGP, PCI, VGA/TV out, and more.

Pre D3D and OGL (and Glide...) your only choice was writing to that block of RAM reserved as a screen buffer. Now, far down the D3D and OGL pipes, the hardware writes pixels to it''s screen buffer.

Again, as with the last point, you need to learn the tool, but they ease your burden much more than the burden of learning the tool. I''d think that''s kinda the definition of a tool.

quote:

quote:
Do you think it''s cheating to use the fixed pipeline rather than writing the lights, texgen, and other things yourself in software, or as a shader?


OH, so those things are not part of the pipeline ?

and again, we need to learn how to make shaders, lights, and textures.


Yes, they''re part of the pipeline, I never said they weren''t. I was just taking examples of vertex shader code, or in software, that you COULD do yourself, but many people don''t. And they''re not cheating by making that choice. The fixed pipe is a tool that can be used if it suit your purpose. You''re not learning how to do lighting, or texgen, as you would using a shader, but it''s fine. Again, the fixed pipe alleviates the burden of learning how to do it all in shader code, or even designing your own chip if you want to get carried away.
quote:

quote:

Do you think it''s cheating when you use the C++ compiler Microsoft built?



No. but its a stupid choice! Again, learning the ins and outs of the compiler and C++ before you use it.


Your bias against Microsoft''s product has nothing to do with this discussion. Note that you''ll never develop an XBox game without using MSVC. Are you saying all XBox developers are being stupid?

quote:

so on and so on and so on.


So it would seem...

quote:

quote:

Granted, knowing how to load at least one bitmap format COULD be useful and instructive.


There is only 1 bitmap (.bmp) format.


Jpeg, Gif, Pcx, Targa, Png are all bitmap formats. Images were called bitmaps way back before bmp existed. Everyone with an Apple II, or C64 that remembers talking about bitmaps, raise your hand. Microsoft happened to call their bitmap... Like their word processors is called Word. That doesn''t mean nothing else is a word anymore.

quote:

And no it''s not cheating to use 3dsmax, photoshop or whatever. These things are called "tools." You need to learn how to use them.


So, um, are we in agreement? I can''t tell. You in favor of tools, but certain specific software libraries are not counted as tools for some arbitrary reason?

Share this post


Link to post
Share on other sites
Dude, settle down a tad.


DX and GL do NOT write pixels to a screen, jpeg, gif, tga etc are IMAGE formats, microsofts vc6 compiler is shit, XBox games are not developed with MSVC, and I am not against using DDUtil for DX Development.

All I am saying is know what something does, and why. There is nothing wrong with using any tool , as long as you educate yourself.

I mean, think of all the people that piece together a bunch of tutorials, make a scene in 3d, and call it "their engine" without knowing what is going on.

Use any tool you want to use, but don''t use it because you don''t want to learn!

For example, at sourceforge there is an image tool called DeVil, that is way better than DDUTil. Don''t take the easy way out, learn about what is going on.

Share this post


Link to post
Share on other sites
quote:
Original post by RhoneRanger
DX and GL do NOT write pixels to a screen,



Actually, all the screen displays is pixels. Every image your monitor ever beams out at you is made up of pixels. What color, intensity, etc of each pixel and how they are organized is determined by the software/hardware driving the display. But in the end, it''s still just pixels.

quote:

jpeg, gif, tga etc are IMAGE formats,



They''re bitmaps too. The .bmp format is also an image format. The process through which the image information is stored is what determines if it''s a bitmap. Think of it as a map of bits that makes up an image.

Suppose that Ford produced a car and named it Car. Would that mean that a Viper isn''t a car? No, it''s still a car, Ford just wasn''t being very imaginative. Or Microsoft in the case of the .bmp format.

quote:

microsofts vc6 compiler is shit,



That''s purely opinion - and a rather misguided one at that. Considering the widespread use of VC++ it would be wise to come to terms with it. You don''t have to like it. But you can''t stop others from being happy with it. I am - deal with it. Suppose you had a chance at a nice job programming. But the potential employer only uses VC++. Better know it and at least be able to use it, whether you like it or not. Or just pass up the job. Never pass up a chance to learn a new tool. "Well rounded" is better than "highly opinionated".

quote:

XBox games are not developed with MSVC,



Beats me, but I''m sure some are at least. I couldn''t imagine MS not having it available for XBox development. That would just be ridiculous.

quote:

and I am not against using DDUtil for DX Development.

All I am saying is know what something does, and why. There is nothing wrong with using any tool , as long as you educate yourself.



That is exactly my point! Words to live (and code) by.

Brandon

Share this post


Link to post
Share on other sites
If you are curious, learn it, write your own. If you aren''t then i would just get over with it, just read a tutorial and know the gist. We can''t really force you to learn something, however with something such as load bitmap which is very common, its best to reuse existing tested, guaranteed to work code written and refined by lots of people.

I''d spend my time learning more "interesting" things myself, cuz i''m not the low level kinda guy. You are more likely to be asked to solve problems that nobody has come across in your real game programming job such as finding the best data structure for a particular implementation etc.

Share this post


Link to post
Share on other sites
quote:
Original post by RhoneRanger
Dude, settle down a tad.


I have as much right to rebut your statements, as you have to rebut mine. I would have ignored your post, except it''s sole purpose was to slag my points, all of which are valid. Your current reply impies you didn''t really even read my response anyway, as Rattlehead seemed to agree with my points.
quote:

XBox games are not developed with MSVC


VS.NET using the MSVC7.1 compiler is THE platform for developing XBox games. I''m not sure why you think otherwise. I use it everyday, at work, developing xbox software.

Share this post


Link to post
Share on other sites
Okay you all,

My point about the GL and 3D, its the GRAFX card that sets the pixels, and D3D and GL are APIs, in part graphical. They send data to the CARD not the screen! NO way does GL or D3D write pixels to the screen.

The msvc6 compiler is buggy as all get out! It is a terrible excuse for a c++ compiler, it is not standard, cannot handle templates, and all in all is crap! This is not an opinion, it is fact. AND it is a well known fact. So, who is uneducated here? 7.net is somewhat better, but still not near the standard.

A bitmap is an IMAGE format. A tga (Truevision) is NOT a bitmap, neither is a jpg, or a png. They are specific image formats. People have mistakenly called them "bitmaps" in the past.

BAH! Learn this shit before you pretend.

EDIT:
About xbox devel, I was referring specifically to MSVC6, not .net.

Of course the best*cough* microsoft compiler will work on a microsoft machine.

It's like saying "I use GCC to program in Linux."



[edited by - RhoneRanger on December 13, 2003 9:45:25 PM]

Share this post


Link to post
Share on other sites
quote:
A bitmap is an IMAGE format. A tga (Truevision) is NOT a bitmap, neither is a jpg, or a png. They are specific image formats. People have mistakenly called them "bitmaps" in the past.


That''s no mistake. When people refer to other images as bitmaps they do so because they are using the original definition of bitmap. Not the definition of the BITMAP structure.

Share this post


Link to post
Share on other sites
Well, I stand corrected! Back in the early days images were called bitmaps, cause of the specific colors & bits.

I apologize for that rant!

I will not back down about the msvc 6 compiler being shit though! and I will not back down about GL and D3D!

Share this post


Link to post
Share on other sites
quote:
Original post by RhoneRanger
Okay you all,

My point about the GL and 3D, its the GRAFX card that sets the pixels, and D3D and GL are APIs, in part graphical. They send data to the CARD not the screen! NO way does GL or D3D write pixels to the screen.



LOL! Fair enough. But I think you know what we were saying as well. Ultimately, the pixels are arranged by the software that controls what data is sent to the video adapter. I think it''s safe to say that we''re all on the same page here then...

quote:

The msvc6 compiler is buggy as all get out!



Hmmm... I''ve never noticed that. I never had any trouble with it.

quote:

It is a terrible excuse for a c++ compiler,



Opinion again. ''Nuff said.

quote:

it is not standard, cannot handle templates,



It''s largely the standard. The "ANSI C++ Standard" is all well and good, but considering how widespread VC6 is, I''d say that it defines what the working standard is. I''m not going to go into detail again in this thread, but there''s a thread about colored scroll bars in IE where I point out how market share drives what is the standard rather than some artificial standard imposed by a document.

As for templates, I''ve honestly never used them, so it''s never been an issue for me. Maybe someday, but if I''m not mistaken VS.NET does support them, so it''s a moot point. I don''t use VC6 any more.

quote:

and all in all is crap! This is not an opinion, it is fact.



Actually, no, that''s opinion again...

quote:

AND it is a well known fact. So, who is uneducated here? 7.net is somewhat better, but still not near the standard.



I''ve already addressed the standards issue. VC7 is actually quite nice. Much nicer than even VC6 was. I''ve used it for around 2 years now (since it was in beta). So yeah, I know this. Still, this is my own opinion. We all have ''em, don''t we?

quote:

A bitmap is an IMAGE format. A tga (Truevision) is NOT a bitmap, neither is a jpg, or a png. They are specific image formats. People have mistakenly called them "bitmaps" in the past.



Yes, they are all image formats. And they''re all different. But, a jpg, for example, is still a type of bitmap. It''s a bitmap format. People have called them bitmaps for a long time, because they are. Go ahead, call a jpg a bitmap. Go on, try it! Feels good to be right, doesn''t it?

quote:

BAH! Learn this shit before you pretend.



Ok, that''s just silly. Funny how what you "know" is really what you "think you know". I have learned "this shit". Much of it was learned a long time ago. How long have you been coding? I''ve been doing it since I was about 8. I started in AppleSoft BASIC on the old IIe/IIc systems. When you "learn this shit" then you can talk. We''re trying to help you, but you refuse to listen. Stop to consider the possibility that maybe there are bits of knowledge that you don''t have yet. When someone hands one to you, don''t just toss it away because you think you don''t need it.

quote:

EDIT:
About xbox devel, I was referring specifically to MSVC6, not .net.



I thought that the XBox was around before VC7? Dunno. Not my area of expertise. See how easy it is to admit when you don''t know something? Try it some time!

Brandon

Share this post


Link to post
Share on other sites
quote:
Original post by RhoneRanger
Well, I stand corrected! Back in the early days images were called bitmaps, cause of the specific colors & bits.

I apologize for that rant!



Ok, I was posting my last post before yours showed up. The bitmap issue is settled then...

Brandon

Share this post


Link to post
Share on other sites
quote:
Original post by RhoneRanger
I apologize for that rant!


Apology accepted. BTW, I attempt to never post shit.
quote:

I will not back down about the msvc 6 compiler being shit though! and I will not back down about GL and D3D!

MSVC 6 is flawed, yes, but it works well enough for most applications. It''s still beside my point that it is a tool, and a fairly standard tool.

And the D3D/OGL thing, my original post was... "Do you think it''s cheating when you use D3D or OpenGL rather than writing pixels to screen memory". Screen memory, video memory, whatever you want to call it... you know exactly what I''m talking about. Back on the early apples, commodores, and even PCs until the mid 90s you had screen memory. You wrote to that memory, pixel by pixel. D3D and OpenGL are tools you can use to avoid that tedium (and gain acceleration while you''re at it.) If it wasn''t for something like D3D or OpenGL we might still be writing to screen memory pixel by pixel... like a software rasterizer. Hence, D3D and OpenGL are tools that have unburdened us from writing to screen memory... which was my comment.

Everything I listed was to show the extent of how tools have advanced us in gamedev, and why we should embrace using tools rather than ignore them. You somehow systematically took each and every point incorrectly. I''m not one to start a war, but I WILL defend my position when I know it''s not at fault. And I WILL admit to my errors when I''m proven, or I notice, I''m wrong.

Anyway, as I said, I accept your apology.

Share this post


Link to post
Share on other sites
quote:
Original post by Namethatnobodyelsetook
MSVC 6 is flawed, yes, but it works well enough for most applications.


Hmm... I never had any trouble with it. Of course, until the past couple of years, I mostly used Borland stuff. But my experiences with it were always fine. What sort of problems did you have with it?

Brandon

Share this post


Link to post
Share on other sites
quote:
Original post by Rattlehead
quote:
Original post by Namethatnobodyelsetook
MSVC 6 is flawed, yes, but it works well enough for most applications.


Hmm... I never had any trouble with it. Of course, until the past couple of years, I mostly used Borland stuff. But my experiences with it were always fine. What sort of problems did you have with it?


Everyone, including MS, admit it has really bad template support. Despite this, we''ve used it with a variety of templates without issue. I''m not sure what the exact nature of it''s problem is, but it really is a well know fact that it does have problems in this area. The fact that we use it without issue is why I point out that it works well enough.

I have issue with their support of precompiled headers because it breaks the ANSI standard in many ways. Assume you have PCH turned on, and

1. Include some code that doesn''t include that header. Boom compile stops. It doesn''t just compile anyway but without PCH, even though the code is perfectly valid. And then the only way you can really reuse the code is to leave your PCH as stdafx.h for every project, because if you try to share the file between projects only one of them will include the correct file if you rename the header to your project name.

2. When you include the PCH .h file, it forgets it''s current context. #define bob 1 #include "stdafx.h" int x=bob; This will fail, as it won''t know what bob is anymore. Same with trying to wrap things in an #if... it complains when it hits the #endif. Both work fine with PCH off.

There are tons more ways it doesn''t match the standard, but you know what, the way it does PCH is the only thing that really bugs me... and I''ve been using it for 5 years. Yeah, it''s flawed, but it''s fine. I love the editor, the intellisense, the autocomplete, the debugger, the MSDN hypertext help, and for the most part, the actual compiler. I have issues with many MS products, but their compiler and DirectX are things I feel they''ve done right.

Share this post


Link to post
Share on other sites
Just something that''s been getting on my nurves here

Most of the people here say that only Microsoft compilers are used in XBox game development. While don''t doubt they may indeed carry the market share in this instance, afaik the only things required for XBox dev is the SDK and a COM complient compiler. For the adventurous one, COM can be emulated with a GCC compiler for all it matters (so can C++ exports), for the rest of us...ever heard of Intel? Intel''s Optimizing C++ Compiler (v7 now) afaik is considered the very best and it even supports COM and VS7 (the environment).

note: I do admit that probabaly the absolute majority of XBox developers use VS6/7 however.

< krysole || krysollix >
sleep, caffeine for the weak minded

Share this post


Link to post
Share on other sites