BLG

Members
  • Content count

    21
  • Joined

  • Last visited

Community Reputation

154 Neutral

About BLG

  • Rank
    Member
  1. Terrain LOD light pops?

    I would suggest you ensure all your normals are normalized (magnitude/length is 1) for all your LODs (which it looks like you are doing at the end).   Its also weird to me that you have your Y normal component hardcoded to 2 in all your normal calculations, this seems incorrect to me.  Usually you calculate a normal using several data points (3 for a triangle for example) or a continuous function over the data points (which you are doing but your Y value is always hardcoded to 2).   The potential problem is when you normalize the end result, it is completely dependant on the X* mVerticalScales,Z * mVerticalScales. The larger they are the more it will reduce your hardcoded Y value of 2 when normalized. I have a feeling your mVerticalScales changes between your LODs which yeilds slightly different results for your normals after being normalized, which may be causing your undesired effect (as different LODs have incorrect and different Y normal values in the end).   My recommendation is to put in a correctly calculated Y value for your normals instead of hardcoding it to 2.
  2. Sounds like you are using a method from the dynamic library MSVCR11.dll in your code.   These methods are loaded dynamically at runtime so it expects the appropriate DLL file to be there when your application runs. You can resolve your error in a few ways: 1) By running the appropriate "Microsoft visual c++ 1012 redistributable(x86)" installer as you mention on the machine trying to run your code. This will install the DLL to windows appropriately for later use by your application   Do not just include the dll with your application, it needs to be properly installed on the system. You will want to match x86 and x64 installer versions appropriately with how your code is compiled (which will likely be x86 or 32 bit). Usually this is included as part of the install process for your application.   2) I believe there is an option to compile the methods "statically" instead of using "dynamic" libraries in the linker options. I'm not sure if this is true  in the newer version of MSVS or not, but may be worth looking into. This would make it so you don't need to use the "Microsoft visual c++ 1012 redistributable(x86)" installer as the methods are compiled into your executable instead.   3) Figure out what methods are used in that MSVCR11.dll and avoid using them in your code. You can use something like http://www.dependencywalker.com/  to figure this out.   Hope this helps.     Edit: I just realized you are already linking statically. There may be a library dependency in there still you don't realize maybe form a 3rd party library you are using. I'd try dependency walker to confirm this.
  3. I recommend using: [url="http://www.angelcode.com/products/bmfont/"]http://www.angelcode.com/products/bmfont/[/url] This utility allows you to rasterize a font and load it into your application from an image format. You should be able to cycle through the available fonts on your system and find one that suits your needs (supports extended ascii/unicode). There are tutorials on the site to help you get up and going as well.
  4. Are 99%ers poking fingers at a failure of capitalism?

    My issues are: 1) Corporations are not people (even though the supreme court tells me they are), its just not true. 2) Someone more successful then me pays less taxes, that is not right as we should all be equals. 3) Corporations get bailouts when they fail, but when I fail, I am considered a worthless bum/leach on society. Im not out to take other peoples money and smash their successes. However, I do expect people to pay the same share back to society as everyone else (the 99%). The most important thing the protests have accomplished is putting the political conversation back on track to discuss these things.
  5. Your Game Engine!

    Procedural outdoor engine, basic collision detection, image manipulation, and quadtree stuff Files 34 Lines 34,237 Statements 11,079 % Branches 16.0 % Comments 31.3 Class Defs 51 Methods/Class 10.29 Avg Stmts/Method 13.6 Max Complexity 87 Max Depth 9+ Avg Depth 2.70 Avg Complexity 3.94 Functions 124
  6. What Does Everyone Think About The New Site Layout?

    I logged on after many years to say that: [b]I hope the personal ratings go away permanently.[/b] I hate this feature and is the main reason I do not contribute to any GD discussions. The rating system made me immediately stop contributing to this community after receiving downvotes for my helpful posts for no apparent reason which gave me a shit poor attitude spending my time helping people on this board. Some more feedback: - This site is mainly a forum site and as others have said the recent threads needs to be put back at the top of the page - The image of the day MUST be put back visibly on the front page, as it is one of the most inspirational things on this site. - Personally I dont care about most web 2.0 bandwagons and despise the post to social network buttons. I do not need to immediately Twitter, Delicious, Reddit, ect.. everything from this site to the rest of the world. - Vertical real estate seems to be wasted, which may be a problem later on my netbook. - I like that this forum does not have huge image tags at the bottom of each post, however I do prefer if you keep the text only tags as I have found many interesting projects from people that way. Keep up the work guys, should be an interesting upgrade.
  7. [web] Self Hosting?

    (right click)My computer-->Manage-->Service and Applications-->Internet Information Services-->Web Sites-->Default Web Site-->(right click) Properties-->Directory Security (tab)-->Edit (anonymous access and authentication control)-->check "anonymous access" Also remember that your IP address will likely change. And some ISPs block port 80 (and others) so you cannot do self hosting (they want you to pay them for that).
  8. Quote: Vector3 rotation_vec = Direction cross Wanted_Direction double angle = asinf(rotation_vec.Length()); rotation_vec.Normalize(); Quaternion quat_rotation; quat_rotation.w = angle; quat_rotation.xyz = rotation; //normalized at this point tthibault, I dont think that actually works. Taking the cross product of two normalized angles will yield another normalized vector(length always equal to one). Although this is indeed your "axis of rotation", you cannot obtain how far to rotate between the two directions by taking the length of an already normalized vector (it will always be one). I think you need ot use the cross product to find the axis to rotate on and the dot product to find out how far to rotate along this axis. This is the code I would use: // Note: Directions should be normalized DirStart.Normalize(); DirEnd.Normalize(); // Find axis to rotate along VECTOR3 rotAxis = DirStart.Cross(DirEnd); // Use dot product and arccos to detrmin how far to rotate along previous axis float angle = acos( DirStart.Dot(DirEnd)); // and borrowing from tthibault to fill in a quaternion... quat_rotation.w = angle; quat_rotation.xyz = rotAxis; // or you can use something like this in direct3d to build a rotational matrix D3DMatrixRotationAxis(rotMat, &axis, angle); Hope this helps
  9. Best Physics Demos

    That was me - the link is: link
  10. problem: camera moves very slow solution: Implement time based movement. Instead of moving your camera x distance per frame, you should move it by x*time_elapsed per frame, where time_elapsed is a high performance clock count of the amount of time it took to process the single frame and x is some constant speed you want the camera to move. This way the movement will become a function of time and your camera will move the required distance no matter what your frames per seconds are. problem: Is 3DS max a good choice and how to model/texture buildings? solution: 3DS is fine, there is also Maya and other choices like Milkshape that are cheeper in cost. If using 3DS I recommend you use Panda Exporter (free) to export into the x file format and use the D3DX load functions available in the DirectX API. As for modeling you will probably find more answers in a graphics/modeling forum. However I would say to decrease you poly count, you should be using full textures of buildings and thier windows on simplied boxes. This will reduce your polycount dramatically and give you smoother motion. It would also be helpful to provide your current hardware setup and the number of polys your model/scene currently has.
  11. How to get your rating up

    Quote: Ktulu's Guide to Eating Bacon 1. Insert morsel into mouth. 2. Chew 3. Goto 2 Thats just chewing bacon, since you never have a step for swallowing the bacon. Rating down for you!
  12. So I interviewed for Microsoft today

    Just to let you know the interviewer was right about your line of code. there are no constuctor methods for an object in C that you would need to use new for. This is bacause C does not have classes only structs (which dont have constructors/destructors). The dynamic allocation you use in a C program is malloc and free not new and delete. If you have ever used an actual C compiler and not a C/C++ compiler you would see this (assume you haven't). You can't call new and delete because they do not exist. There are also other things that I find annoying in C-only code like only being able to declare variable at the top of a function and not being able to use double slashes for comments in C (only the black comment /* comment */). Good luck on your interview though, it sounds like you did well.
  13. From the bottom picture provided, it looks like you may have mip mapping disabled. This can dramatically impact performance, since it must sample the entire texture (instead of the smaller level mip maps). I recommend you enable mipmaps in the renderstate and when you load the texture be sure to create the entire mip map chain (see DXhelp). You can see if the texture sampling is a large performance cost by shinking your box texture down to something like 16x16 and using that instead. If you FPS goes way up this is your problem.
  14. Glad to hear you found some work arounds.
  15. I had this same problem when creating a tile engine, using basically cube meshes at the time. When setting them side by side in a line formation and rendering, artifacts like yours would appear. This is caused from Z-fighting between the up facing surface and the polys on the same edge facing the camera. You can try enabling W-buffering and/or toy around with the near and far view planes to get more accuracy in the buffer or you can resort to the ZBIAS or other more reliable forms of matrix biasing tricks. If this doesnt work there are some complicated workarounds like combining the meshes in order to only use one translate which produces less inaccuracies. You can also make specialized peices that fit together better without the overlapping poly problem (cube missing a side for example). Also realize that the biasing techniques are very resolution size dependent. When fixing this problem I recommend that you set you app to your highest resolution possible. This will most likely make the problem more apparent and in the end easier to track and fix.