Jump to content
  • Advertisement

sebarnolds

Member
  • Content Count

    72
  • Joined

  • Last visited

Everything posted by sebarnolds

  1. Hi everybody. As it is the graphics subforum, I thought I could post a review for a book about the Ogre3D graphics engine. If anyone among you is interested in learning Ogre3d with practical examples, it could be interesting. Especially if you don't really know where to start with the engine (Ogre 3D). The title of the book says it all: "cookbook". You won't find lengthy descriptions or useless babbling in this book: it is all about recipes. It is divided in chapters with each of them about a specific subject (initialisation, lights, materials, animations...) with several articles. This is not a book for total beginners who don't know where to look but for people with decent programming knowledge willing to learn more about Ogre3D. Those people will find in this book great articles that go straigth to the point. Have a look at the table of content (available at http://www.packtpub.com/ogre-3d-1-7-application-development-cookbook/book) and see if any of the subjects interest you. If it is the case, you'll definitely want to check this.
  2. Well, I just download RTCW-SP-GPL.zip from their FTP server (I assume this would be Return to Castle Wolfenstein, single player, GPL license). I opened the README.txt file and here is what it says : Quote: Compiling on win32: ------------------- A Visual C++ 2008 project is provided in src\wolf.sln. The solution file is compatible with the Express release of Visual C++. You will need to execute src\extractfuncs\extractfuncs.bat to generate src\game\g_save.c You can test your binaries by replacing WolfSP.exe, qagamex86.dll, cgamex86.dll, uix86.dll at the top of the RTCW install So, I guess this should compile on Windows.
  3. Well, there should be plenty of them (including Quake 3 if I'm not mistaken). Google is your friend and should help you about this. In fact, reading the daylies would have helped you as ID Software released the source code of Wolfenstein (Ennemy Territory & Return To Castle Wolfenstein) a few days ago : see here. Hope it helps, Seb
  4. Hello. I posted a similar thread on the Ogre3D forums but I suspect that my problem is not directly related to Ogre3D but rather to VS2008, libraries and the runtime. I previously built my project with GCC under Linux and MinGW under Windows (I use CMake for the makefiles generation). After a long period without doing anything, I recently got back to development and decided to use Visual Studio 2008 (express) for easier debugging. I had a lot of trouble making it work as it seems that it refuses to work if I build a debug version of my application and link it against to a release version of Ogre3D (something to do with the runtime I think). I finally got it working in release mode and everything seems to work fine. Now, if I try to build it in debug it doesn't seem to work. I build a debug version of Ogre3D and VS2008 produces all my binary files (one EXE and several DLLs). However when I run it, I get access violation when I call load on the texture manager on some PNG files. I had a hard time tracking where the problem occurred as it didn't want to give me a correct stack trace but I managed to find that I was loading a few PNG textures and that I crashed on two specific files. Here is the code I use to load the texture: try { ogreTexture = textureManager.load(texture, "General", Ogre::TEX_TYPE_2D, -1, 1.0f); } catch(Ogre::Exception & /*e*/) { } And here is my error message: Unhandled exception at 0x0000000f in run.exe: 0x00000005: Access violation The following call stack is given by Visual Studio: msvcp90d.dll!std::_Fgetc<char>(char & _Byte='', _iobuf * _File=0x00000000) Line 36 + 0xa bytes C++ It seems quite strange to me that it crashes in debug but that in release everything works fine (and my textures are correctly loaded and shown). I noticed that I didn't have debug builds of FreeImage. Could it be related as I had troubles when mixing debug and release libraries ? Thank you for your help, Sebastien PS: Note that I use Ogre 1.7.0
  5. sebarnolds

    [web] Good free CSS editor?

    Hi. Although I never used them, you could try these: - http://www.athlab.com/Astyle (download broken but it seems to be the same as this one http://css-editor.info/ where the download link works) - http://www.hostm.com/css/ From what I've seen on their websites, they could do what you want. Hope it helps, Seb
  6. sebarnolds

    C++ XML parsers

    Hello. I've successfully used Expat in the past but I finally switched to TinyXML but I don't even remember why I made the switch. Anyway TinyXML is easy to use and easy to integrate into your project (as samoth said it, just put the source files in your project and that's it). I recently used libxml2 at work and it seems to be fine if you need a more complete XML parser with DTD validation. Its documentation is however not easy to read and I don't know waht are its dependencies. Another complete parser with validation is Xerces (not used though). Hope it helps, Sebastien
  7. sebarnolds

    Help on Exponents

    Quite easy, you should have remade the calcul : (2*3^n - 3^n+2)/(3^n+1) = (2 - 3^2) / 3 = (2 - 9) / 3 = -7 / 3 Seb
  8. sebarnolds

    nvidia memory leak (solved)

    Hi. That sounds like something similar to one of my (quite old) problem I had with my NVidia Quadro and OpenGL (see here). It doesn't seem to be exactly the same. In my case, I didn't use the z-buffer and all the screen was overwritten each frame so I had no use to call glClear. Then, when I began doing 3D, a leak appeared and I needed to call glClear (even glClear(0)) to get rid of it. Hope it helps, Sebastien
  9. sebarnolds

    Flex and Bison

    Hi. There is a good tutorial about a full scripting engine with Flex and Bison here : http://www.peroxide.dk/tuts_scr.shtml Hope it helps, Sebastien
  10. sebarnolds

    Your thoughts on some game/3d engines

    Hi. - I think that Crystal Space and Irrlicht are more full game engines than only 3D engines. - Ogre3D is fine, well-written, easy to understand and has a wonderful community which really helps (and fast). It is really easy to learn how to use that engine, I recommend it. It only focus on 3D graphics. - Don't know about Blender's Game Engine - Torque is also a game engine, not just a 3D engine. It is not free. Keep in mind that I only used Ogre3D in that list, so I can't tell for the others. Anyway, is it really a 3D engine that you are searching ? Not a 3D GAME engine ? If you want a full game engine then Ogre3D is maybe what you are looking for. It needs additional work as you must create or use libraries to use input, network, sound... My 2 cents, Sebastien
  11. Hi. I quickly looked at the API documentation and found it pretty clear, that's a good point. The renderer interface is the thing to use to allow anyone to use your GUI with its own graphics renderer. I didn't look very far so I can't tell you how good it is and besides... who knows if my opinion/advices are good to take in account :) One thing that jumped at my face was the license - GPL - which could scare some users who find it too restrictive. Just my 2 cents, Seb
  12. Hi. I guess that for us to be able to correctly answer your questions, you should list the features of your GUI library and explain the core principles of it. For my project I am developing my own GUI because there are some things that I don't want to develop myself for a game engine but some other things interest me. GUI is one area I'm interested in and I enjoy programming one myself (but I would hate to develop a full graphics engine myself...). Anyway, I am using the Ogre3D engine for rendering and there are several GUI solutions available for it (check the Ogre3D forums for informations about their features): - CEGUI (well-known, even in non-Ogre3D community, as it can be adapted to any renderer) - BetaGUI - MyGUI - SimpleGUI - OpenGUI (http://opengui.rightbracket.com/), which could also be adapted to any renderer) I don't know them very well but here is what I have heard about them: - CeGUI is a full-blown GUI system but it can be too much for only a game GUI and some users are overwhelmed by its complexity - all of them (I think) lack of tools to design layouts (the GUI apparence) and so, it's very complex/difficult to have its own layout For my own GUI, I will only create widgets as I need them in the course of my project. Anyway, here are some features I would like to have in mine: - Possibility to render the GUI anywhere and still be able to interact with it (e.g. in Doom3 3D panel had GUI such as buttons and it was possible to click on them) - Flexibility (plugin system for new widgets) - Ease of use (GUI to create GUIs, Squirrel scripting for the events) - Simplicity (no need to have hundreds of widgets...) Hope it helps
  13. sebarnolds

    If I were to impliment scripting...

    Hi. You should check Squirrel (www.squirrel-lang.org). It works under Windows and Linux (MinGW or Visual C++, and GCC). It also includes sqPlus used to bind C++ classes to the scripting environment. I recently began investigating it and I must say that I was amazed to see how easy it was to expose functionalities of my engine to the scripts. Just my 2 cents, Seb
  14. Hi. Some products' licenses are imposing limits on the use of their software. For example, the BASS audio library is free for non-commercial use (I think it's the same for the FMOD audio library). Now what happens if I use one of these library in a game that I make, publish my game on my website for free but ask for donations (via PayPal or something like it) ? My product would be free but the readme and a screen in the game would ask users to make a small donation to me if they like the game. In that case would I still respect the license agreement of BASS (or FMOD) ? Thanks for your advice(s), Sebastien
  15. Hi everyone. Thank you all for your remarks. That's what I thought, it is not very clear, well defined if I can do this. I was just asking because, even if I'm building my own game engine with Ogre3D for the rendering, I would like to create a smaller game in 2D. For this purpose, I had found the HGE (Haaf game engine) which seems fine but uses BASS for audio (they even warn users that using HGE for a commercial application would require to change the audio engine). But that's nothing major as I don't know when I'll do this and how I'll do it. I even began the look at Adventure Game Studio (obviously for a point & click game). So I don't think I will have time to make three games (even one :-) would be difficult)/ So, I guess I'll begin to mess with and I'll see if I get something acceptable. then I'll see about the license problem. Anyway that question came into my mind and I wondered if anyone could answer it. Now that I have my answer, I can go on... until the next answer :-) Sebastien
  16. Hi. I would say the problem come from that piece of code: D3DXMATRIX matProjection; // the projection transform matrix D3DXMatrixPerspectiveFovLH(&matProjection, D3DXToRadian(45), // the horizontal field of view SCREEN_WIDTH / SCREEN_HEIGHT, // the aspect ratio 1.0f, // the near view-plane 100.0f); // the far view-plane But you defined SCREEN_WIDTH and SCREEN_HEIGHT as : #define SCREEN_WIDTH 1024 #define SCREEN_HEIGHT 768 The compiler use them as integers and so 1024/768=1. You should convert them to floats (1024.0f and 768.0f). It could generate a few warnings. Sebastien
  17. If all the parts of your cube are equal in your code but not on your screen, I would say the problem is in the projection matrix you use. I don't know for sure but I would say that the problem would happen if you defined a projection with an aspect ratio different that the aspect ratio of you resolution. For example, if you render fullscreen in 640x480, your aspect ratio would be 640/480 = 1.3333. Then, the field-of-view also influence the look / render of your render. You should seek a tutorial about projections and / or post your code about the projection matrix. Feel free to correct me if I made mistakes, Hope it helps, Sebastien [EDIT: too slow, Evil Steve was faster than me :d ]
  18. Well, not really. You can however find a lot of what you are searching by looking at the Ogre3D website. It is a good (IMHO) graphics engine, well designed and easy to learn. For the landscape rendering, there is a well-supported plug-in (scenemanager) but I didn't use it, so look at the forums to have more informations (see Paging Landscape SceneManager). I also recently saw another plugin (Caelum, search in the forums, in Showcase) which was in charge of the weather (sunrise, sunset...). For the rain, fog and such, there should be informations / examples somewhere but I don't think it is directly out of the box. For the trees and grass, I don't know. There exist tools to generates trees. Search a bit. The forums on the Ogre3D website are full of questions (and answers) about that subject. Now, I talked about Ogre3D but I'm pretty sure that that kind of effects can easily be created / found for every engine out there (provided it has a good community). Hope it helps, Seb
  19. sebarnolds

    E-books?

    Hi. This one should help you finding what you want: Free Tech Books It contains links to every single free technical e-book on the net (Python, Java, C++, design patterns, mathematics...). Seb
  20. sebarnolds

    3D Engine

    Hi. You could use Ogre which is pretty good (well structured, good community...). It uses CEGUI for GUI rendering, which have lots of GUI components. Ogre is only a graphics engine, not a full game engine. Anyway, you could use whatever engine you want. CEGUI should not be too difficult to integrate in another 3D engine (it is designed to be renderer agnostic). Quote: There are currently CEGUI renderer modules for Microsoft® DirectX® 8.1 and 9, OpenGL, the Ogre engine, and the Irrlicht engine. Here it is: http://www.cegui.org.uk/wiki/index.php/Main_Page
  21. sebarnolds

    Parse XML with Expat!

    Well, there is that introductory article (there is a link on the main page on Expat web site) : here Read it and don't forget to read ALL pages. There are some samples (source code included). They don't do a lot of things but it shows the basics about XML loading with Expat. I found it quite easy to understand how it works with this article. If it isn't enough for you, you could download the syBR engine. It is the engine I'm currently working on. It is not very advanced (version is 0.0.3 [lol]) but you can find in the "game" part/directory a file named PluginSettings.cpp which actually loads an XML file and use it to load some settings. Hope it thelps. Edit: linkified article
  22. sebarnolds

    whats the best image format for sprites?

    Hi. You're not the only one asking this question. Others have already and answers can be found on the forum. Here is quick summary: - TGA are easy to load, handle transparency but don't compress a lot (RLE encoding) - PNG compress better, handle transparency but are harder to load There are other formats (DDS for example) but as I haven't used thel, I cannot say. If you want to have some good compression, use PNGs. It shouldn't be too hard to load them (there is libPNG to help you doing this). Also, there are some good image loading libraries around there, so, loading shouldn't be a problem. Just my 2 cents. Seb
  23. Hi. Just to save you some time : check NeHe's tutorial #1 (setting up an OpenGL window) and scroll to the ports section (at the end of the page). There are lots of ports of the tutorials and even the one you are looking for : a Linux/GLX port. I personnaly used this and it is great. It initializes OpenGL using X11/GLX functions, so without any additional libraries. It is great to use it as a starting point and then to start tweaking the code in order to better understand it. About Win32, it is something we have to admit, Microsoft did a great job of documenting the Win32 API and I think everybody knows how setup a window and how to handle events. However, just in case, Nehe is still there :-) Hope it helps.
  24. sebarnolds

    Using Masking with Textures

    I personnaly never cared about that (I haven't done SO much about graphics in my engine) but I think that you can't avoid the z-sorting issue. You can do either way (PNG with lib or manualy edit the raw data) but in the end you have the same result in the texture. Just my 2 cents.
  25. sebarnolds

    Using Masking with Textures

    Hi. This isn't difficult at all. I assume you load your textures manually. You need to have a pointer to the raw texture data and you must know its format (RGB or RGBA for example). In your case, you need a RGBA (or ARGB). So for example, first pixel is (pointer[0],pointer[1],pointer[2],pointer[3]) is (R,G,B,A) format. You just need to loop through all the pixel and modify the alpha of the pixels which have the masking color. For example if masking color is (255,0,0,0) i.e. red check a pixel's color (r,g,b,a) and if (r==255 && g==0 && b==0) then set a to 255 to set it to fully transparent. Then use your OpenGL texture loading function glTexture2D... Another solution is to use texture formats such as PNG and TGA which can save transparency data. So, you would only need to use a library to load them. Hope it helps. EDIT: I'm not sure, you must set alpha to 0 or 255 to set it transparent, but I'm not sure which of these.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!