• Advertisement

Billr17

Member
  • Content count

    311
  • Joined

  • Last visited

Community Reputation

437 Neutral

About Billr17

  • Rank
    Member
  1. Quote:Original post by Matt328 Normally I'd suggest C#/Winforms, but if you're more comfortable with C++, maybe you ought to give Qt a look. Another option with .NET is C++/Winforms. You could potentially write the winform application with C++ CLI. This would make interop between the .NET application and your OpenGL rendering engine fairly easy. Although, I do believe the winforms designer does not work with C++ (At least you couldn't in previous versions of Visual Studio). I personally recommend Qt if your not going the .NET route.
  2. DirectX vs XNA

    XNA for Windows is built on top of DirectX 9. Basically it is a managed wrapper on top of the native DirectX libraries. In a sense, you are already working with DirectX and learning the basic concepts of how it works. XNA takes care of alot of the tedious grunt work you generally need to manage yourself when creating a DirectX application from scratch (Such as window creation, loosing the device context, etc). If your confortable with XNA already, you will probably be able to pump out a game much more quickly. It really comes down to what you want to learn about. XNA is currently based on DirectX 9. Therefore, you will not be able to take advantage of the new features that have been included with DirectX 10 & 11. So if you want to learn about geometry shaders, or some of the other new features, it may be worth diving into DirectX or OpenGL. Personally, I'd recommend sticking to the manage route and check out the SlimDX library if you interested in next gen API's. So here's a question for you. What do you intend to do with XNA, DirectX, etc? What kind of games are you interested in creating? There honestly is no right answer to your question. If your comfortable with XNA, I'd suggest sticking with it and at least finish the development of a game before moving onto something else. Finished projects look better then unfinished projects :)
  3. [web] Buying Flash

    Quote:Original post by Richard Kain Quote:Original post by Gamer Gamester 1) The mxmlc command-line compiler is all you really need to make Flash games. That is correct. You can go to the Adobe website, and download the Flex 3 SDK right from there. It is part of their open-source initiative, and it is completely legitimate. And the tools it comes with are all you need to create Flash files. I would also recommend checking out Flash Develop. It is an open source flash IDE for working with the FLEX SDK. It will make programming in Flash much nicer :-) -Bill
  4. Maya File Associations

    Quote:Original post by zer0wolf Ctrl + Right Click -> Open With -> Choose Program -> Select the correct version of Maya and check the always open this file type with this application box. I had tried doing this multiple times before making my post. I even manually browsed to the Maya 2009 executable via the Open With dialog. Unfortunately, every time I double click the mb file, it still opens in Maya 2008. It's appearing like the only way to correct the problem is by manually editing the registry settings.
  5. Maya File Associations

    We currently have multiple versions of Maya installed(8, 2008, 2009) because of various projects that require a specific version. A third party piece of software uses the file extension associated with windows to determine which version of Maya it should use for exporting assets. Because Maya 2008 was installed after Maya 2009, Windows now attempts to open all Maya mb files with Maya 2008. Thus the third party software is now incorrectly attempting to export all mb files with Maya 2008 instead of Maya 2009. I attempted to change the program associated with the mb extension, however, that did not seem to work. Does anyone know of an easy why to switch which version of Maya is associated with its file types? Perhaps there is an option to easily do this in Maya? I was hoping to avoid reinstalling Maya on multiple machines to get things working again. -Bill
  6. Quote:Original post by 23yrold3yrold Playing with it now; Application.Idle works as intended but my whole application is flickering nastily, even when I'm not clearing to the background colour. I think the parent thinks it's supposed to refresh itself over the child window ... Are you invalidating the form each time the idle event is raised? Invalidating the form would cause the flickering you are seeing. If so, only invalidate the child controls you are drawing on.
  7. Quote:Original post by 23yrold3yrold Fiddler: I don't think it's something that Application.DoEvents will fix; One thing to keep in mind is that the Application.DoEvents method allocates quite a bit of garbage that needs collected. Tom Miller had an interesting post quite a while ago on why you would not want to use this method in a render loop. Its probably still worth taking a look at: http://blogs.msdn.com/tmiller/archive/2003/11/07/57524.aspx The solution I posted is what Microsoft generally recommends. Tom Miller had posted this as a solution for getting Managed DirectX working within Windows Forms back when he was still working on MDX. Also Microsoft used this same solution in thier official XNA examples for showing how to use XNA with Windows Forms. From what I see, it appears that your control is properly redrawing itself. However, the DirectX surface is not being redrawn onto the control. Have you tried hooking the Invalidated event for the control your drawing on? That way you can force it to draw when the control becomes invalidated. Also, have you tried to set a break point in you paint event handlers to see if the code is ever hit when the control becomes invalidated?
  8. There are several ways of accomplishing what you want to do. If your control is going to display continous animation, the most common way of resolving the problem is via the Application.Idle event. This event is triggered when the application thread has completed processing windows messages and is about to become idle. Because of this, the event is continously raised and makes a good candidate for forcing the updating of rendering code. // Were yourControl is the control or form that you are drawing on. Application.Idle += EventHandler( yourControl.OnApplicationIdle ); void OnApplicationIdle (object sender, EventArgs e) { // Forces the control to repaint itself. This will cause the OnPaint method to be called. // Another option is to directly inject the DirectX rendering code here // (Although the control and its child controls would not be redrawn). Invalidate(); } On a side note, Managed DirectX is now a deprecated project. Microsoft is no longer maintaining it. You should consider migrating to XNA or SlimDX.
  9. image loading speed up!

    I'm curious and no one has asked... What do these large textures look like? Do they really need to be this large? For instance, could you achieve the same effect with a small subset of repeatable tiles? If the image data does not need to be 'baked' into an large texture, you would be better to procedurely render the out the tiles during runtime. This would significantly reduce the amount of texture memorya nd bandwidth your application needs. However, if the data in each of your jpeg's is unique, you have no choice but to do what your already doing. I'm guessing this is the case, but thought I would make the suggestion just in case. In regards to the DXT compression people are suggesting, just keep in mind that the load time for DXT compressed textures is typically greater then a compressed format such as jpeg or png. The reason is that the image is stored in a compressed format that the video card can quickly consume without needing to do additional decompression. Therefore, DXT compressed textures typically use more diskspace then a png or jpeg would. The problem is that this increases the amount of time needed to load data from the hard disk to system memory. The disk drive will be your greatest bottleneck when loading textures into memory.
  10. Quote:Original post by codeBeast OK. But it's still an swf. They cant get into it can they? unless they decompile it ie: they have to be hackers. I'm just saying that a normal student is not going to know how to do this. Not necessarily. Decompiling the swf would be one way to figure out what is going on. Another way would be to setup a packet sniffer on the local machine to monitor the outgoing data. If the data is simple enough to construct (such as a score), the user monitoring the data would be able to easily reconstruct and send fake data packets to the server. If this application is something for grading students, you will need to look into implementing proper security features (such as encrypting your data for instance). I would not assume that a student would not figure out what you are doing. There are some pretty tech savy kids out there.
  11. MMO: 2D or 3D

    Whether or not your game is 2D or 3D is irrelevant. If your game is fun and offers something that others do not, people will play it. Although geared towards children, both Club Penguin and Pixie Hollow are examples of successful 2D mmo’s. The more important question is how will your server be implemented. The server and it’s backend will be the most important part of your game. Most people tend to under estimate the complexity of building such a piece of software. I would recommend checking out Smart Fox Server to see what is involved with building such a server. It has a free evaluation license that allows up to 20 connections. To be quite honest, the amount of money Smart Fox costs is nothing compared to the amount of time you would be spending to engineer your own server with equivalent functionality.
  12. In Visual Studio you can rename any project by right clicking on the project's name and then selecting the 'Rename' menu item. For VB .NET and C# applications you can rename the executable by doing the following: 1.) Right click on the projects name. 2.) Choose the 'Properties' menu item. 3.) Select the 'Application' tab if its not already selected. 4.) Change he entry named 'Assembly name:' to the name you desire. In .NET, the binary files (executables and dll's) are refered to as assemblies. The assembly name property is used by Visual Studio to name the resulting binary file after it is generated. If you rename a project and want the resulting binary to be the same name, you must manually update the assembly name with the steps I outlined.
  13. Quote:Original post by Sneftel _G. Perfect, thanks!
  14. Is there a way that I get a reference to the global table (in Lua). I would like to iterate over the table and print out its contents for debugging purposes. I suspect that the local keyword was forgotten somewhere and would like to verify which variables are being accidentally created globally. -Bill
  15. Console App won't run on other computers

    Quote:Original post by chazzz Billr17: So I have to ask everyone who I want to send my future applications to, to install that? I'm thinking a installer will probably be the solution for more advanced applications? But what about text-based console app games etc? You actually have two options. Right now your program is (probably) linked against the DLL versions of the CRT. That is the reason the runtime needs installed for your application can run. Alternatively, you can also statically link against the CRT. This will cause the CRT to be built into your application. Hence, the person running your program will no longer need to install the CRT. If you statically link against the CRT, it will make your exe much larger. Additionally, your application will not be able to benefit from patches to the CRT DLL's. Because of this, it is generally best to dynamically link against them. To statically link against the runtime, do the following. 1.) Right click on your C++ project. 2.) Select the 'Properties' menu item. 3.) Goto Configuration Properties -> C/C++ -> Code Generation 4.) Locate the 'Run Time Library' option. 5.) Set the option to /MT for your release build and /MTd for your debug build. To read more about these options and the CRT, see C Run-Time Libraries.
  • Advertisement