Mon, Jan 27, 12:34 AM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2025 Jan 26 2:05 pm)



Subject: An unusual mistake about the .OBJ file format!!! :-)


Anthony Appleyard ( ) posted Thu, 06 March 2003 at 9:21 AM ยท edited Tue, 03 December 2024 at 4:45 AM

I just received this email from Hong Kong:-


Subject: about the chess 3d program of you Send reply to: 00010065@hkbu.edu.hk From: "SIU MING HUNG" 00010065@hkbu.edu.hk To: anthony.appleyard@umist.ac.uk Date sent: Thu, 06 Mar 2003 22:54:04 +0800 Hello anthony, I'm an university student from Hong Kong Baptist University. I found your chess files from Internet. But i don't know how to run the .obj file, I have tried to convert it to a .cpp file, but it cannot get the bitmap image. Would you mind to teach me how to make the image to the .obj file. Thank you very much - - - - - -

I.e. he thought that these .obj files were program executables!!!


ockham ( ) posted Thu, 06 March 2003 at 11:11 AM

I never thought of this before, but actually his assumption makes sense from an outsider's point of view. When you compile a .C or .CPP file to an executable, a file with the .OBJ extension is an intermediate stage. That kind of .OBJ is completely unrelated to the Wavefront kind of .OBJ, but it is the same file extension.

My python page
My ShareCG freebies


BeatYourSoul ( ) posted Thu, 06 March 2003 at 3:53 PM

I'll just throw my 2 shillings in here. ochkam is correct. Each C/C++ (and other) source code file is compiled into a .obj which is then used by the linker to assemble them into an executable (or library, dynamic link library (dll), plugin, etc). M$ has done everybody a disservice by using the extension as a determination of file type instead of the contents (MIME type or whatever). There are basically two types of file: text and binary. The contents should determine what the exact use and association of the file are and not the extension. That should only be a "clue" as to what the contents might be, but not the definition. This is why Windows is such an easy target for viruses, malicious scripts, and whatnot. BYS


jobcontrol ( ) posted Thu, 06 March 2003 at 4:36 PM

BYS, since the stone age of IT an OBJ-file was always the output of a compiler. The term was there way before M$ (can anybody imagine a time like this ? ;-) But they just used it the same way everybody used it then. I don't know since when the OBJ-extension was used for mesh files. Can anybody fill me in on that, please? Willy


Anthony Appleyard ( ) posted Thu, 06 March 2003 at 5:08 PM

It was presumably the fault of whoever wrote a 3D graphics program called Wavefront.


BeatYourSoul ( ) posted Thu, 06 March 2003 at 8:37 PM

Anthony :) jobcontrol, I realize that the .obj file as intermediate compiler-linkage object has been around for a long time. It's just that there are many extensions that are used to mean various things, and collisions occur more frequently than noted. But the extension should not be considered the end all of filetype. I come from an Amiga background, where file extension meant diddly. The same goes for many *nix systems. I believe that the same goes for MacOS (but am not certain). Actions about how the files were handled was totally dependent upon the content, especially binary files. If the format was plain text, but had no specific handler, it would open in a text editor-browser. But if it had information that, for instance, singled it out as an A|W 3D object exchange format, it could be set to take the appropriate action. This poor gentleman in Hong Kong obviously has no conception of this. It's a .obj and he's a programmer, then it must be a compiler object. Wrong! If I were to rename every file on my system .obj, under Windows, it is quite clear that Windows would never boot again (and that not all of the files are A|W 3D objects or compiler objects). That's not my fault, that's M$'s fault for using a flawed system of file type determination. Not certain how long .obj has been used as a 3D object, but it has been around for at least a decade, maybe two. BYS


doozy ( ) posted Fri, 07 March 2003 at 7:45 PM

In UNIX it's called .o and not .obj if I recall. .obj is the DOS way.


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.