Jump to content

Michael_J

Members
  • Posts

    202
  • Joined

  • Last visited

Posts posted by Michael_J

  1. Just did a QUICK triple head display test at 5760x1080. I was averaging about 70FPS, which I don't think is too shabby considering the optimizations both Josh and I want to do respectively.

     

    I didn't set a proper FOV so the side displays are stretched a bit. Later, I plan on a proper implementation with 3 cameras (one for each display) that can be independently adjusted. Here's a lower res shot of the test though--this one taken from within the cockpit looking back at the closed entry hatch:

     

    RogSys_triplTEST.jpg

    • Upvote 6
  2. It would be nice to be able to assign a light a specific group ID. Setting a model's "IgnoreLightGroup" value would cause it not to be affected by any lights with that group ID.

     

    Proposed Behavior:

    --By default all lights and models are assigned to group 0, which allows all lights to affect all models.

    --Setting a light to, say, group ID 1 would still affect all models UNLESS a model was also set to "ignore" group ID 1.

    --The ability to set multiple "ignore" ID's to a model is preferred, but not mandatory.

     

     

    Why is this important? Not only is it a way to optimize your scene (so that you're not casting needless shadows from lights that would never have any affect anyway) it's also a good way to correct certain situations, such as:

     

    Let's say you have a light being triggered by a lightening flash (just as an example). If your player was running on older hardware you may have an option so that VFX lights do not cast shadows.

     

    Now, let's say your player is inside a house looking out. Normally, without casting shadows, if the lightening light was triggered then everything would be affected by it--house interior and exterior alike. BUT, if the house interior was its own model(s), and it was assigned to "ignore" the group ID of the lightening light, then it would not be affected (which would look more proper in this situation).

     

    I know you can turn lights on and off and set ranges, but there's instances where this won't work, such as the case above where you still need to see what's going on outside of the house and a light is "all encompassing".

    • Upvote 1
  3. Cheers. Thanks for that :) It's quite a nice change from hardcore racing sims where I didn't have any creative license--the tracks had to look precise, the cars had to look precise, etc., etc. With this--it's my world and I can do what I want ;)

    • Upvote 2
  4. Sorry if this is already available (or if it's already been mentioned)--if it is I can't easily find it. If not...

     

    It'd be nice to have an option to change the editor's current camera rotation method--pivoting about the centroid of the camera--to allow it to orbit around the selected object.

     

    Thanks...

    • Upvote 3
  5. In the assets tab you can right click on folders and get a menu of basic options (copy, paste, etc). It would be EXCELLENT if you could add an option for the editor to ignore that folder from auto-converting files (maybe "Ignore" with a check mark when selected, or something like that).

     

    For example, I have working folders where I put PSDs, WIP tga's and FBX's, etc. These don't need to be converted, and often times the files that are generated clutter up the folder.

     

    Not a big deal, just something to keep working folders clean...

     

    Thanks

  6. no DOF--I texture/map by using more detail where the camera will be, and less where it won't. This usually offers a DOF-like effect.

     

    Right now they're just Diffuse+norm+spec. The spec and normal maps were done in about 1 minute each, so they're not very defined yet. Basically just making sure everything works right now smile.png

     

    Thanks...

  7. Here's a quick shot showing a single example of how docked ships get loaded and positioned at the docking stall they were last recorded as being at. Obviously missing lots of art--in the process of converting files now. But, you get the idea wink.png

     

    IntegrationWIP.jpg

    • Upvote 2
  8. [/size]

    I agree with you btw, but it's hard to call it a bug if it's not documented and isn't wrapped around a function.

     

    Again, that's understood, which is why I'm not sure it can be classified as a bug. If not then I think it at least warrants a mention somewhere for reference. In hindsight, the "programming" section probably should have been the first stop for this. My bad there :)

  9. True, but it's the cleanest way to get states for all the keys each frame. I fully expect, seeing as RogSys is a sim, that people will use as many keys as possible for different systems control, and I have a LUA table that allows user-defined keys and buttons.

     

    I couldn't imagine having to do an independent "if" for all those key states separately smile.png I mean, functionally it's the same thing as putting one "if" inside a loop, but code-wise it's just seems a bit... ugly...

     

    Edit: I think in many cases (and Josh, correct me if I'm wrong here), there just hasn't been time to document everything yet. If so I would believe this to be one of those cases, as a loop-able downstate for keys and buttons is pretty common. That said, if I can see it and it will save me coding time you can bet I'll try it. If it's not supported and doesn't work THEN I'll code around it :)

  10. I'm not sure if this constitutes a bug, or is expected behavior (already discussed with Josh, just adding a post for a reminder)

     

    I do not do any KeyDown or KeyHit checks in my app::loop. Rather, I have a controller class that handles everything (joysticks, keyboard, mouse, etc) that I call once per frame. For the keyboard functionality I use Window::keydownstate[] which works well.

     

    However, without any calls to KeyDown or KeyHit this causes Windows to think that the program has become unresponsive, even though you can see the program is still running (mouse control still works, engine still updates, etc).

     

    To correct this "bug" there has to be at least ONE call somewhere, per frame, to either KeyDown or KeyHit.

     

    Here's test c++ code so you can see the behavior. Note: if you don't un-comment the first line in the App::Loop you WILL have to shut down the prog with Task Manager...

     

    #include "App.h"
    using namespace Leadwerks;
    
    class keyGRABBER
    {
    public:
    bool Shutdown(Window*);
    };
    bool keyGRABBER::Shutdown(Window* window)
    {
    if (window->keydownstate[27]) return true;
    return false;
    }
    
    keyGRABBER getKeys;
    
    App::App() : window(NULL), context(NULL), world(NULL), camera(NULL) {}
    App::~App() { delete world; delete window; }
    bool App::Start()
    {
    window = Window::Create("test", 0,0,1024,768,Window::Titlebar + Window::Center);
    context = Context::Create(window);
    world = World::Create();
    camera = Camera::Create();
    camera->SetRange(0.05, 5000);
    return true;
    }
    bool App::Loop()
    {
    //if (window->KeyDown(Key::Escape)){}; //uncomment this to fix the bug
    if (getKeys.Shutdown(window))
    {
    //End program
    return false;
    }
    else
    {
    //Continue
    Time::Update();
    world->Update();
    world->Render();
    context->Sync(true);
    return true;
    }
    }
    

     

    Excuse the code--I just threw the example together quickly so I can get back to work smile.png Anyway, keydownstate may not poll for windows activity on its own, in which case this isn't a bug per say. But I wanted to at least make a post about it so no one else trips over this. I spent 4 hours tracking this down smile.png

  11. I understand this is how it works on the 3.1 demo. I'm sure there may be other performance issues at the moment; but, this CAN drop frame rate briefly (micro-stutter) as verified by both MS and AMD (for various reasons). I tested my prog, as well as the tutorial above, on my other rig (Win 7 with nVidia) and all is well--FPS is stable when moving the mouse.

     

    I've confirmed this by locking the camera and moving the mouse--when the mouse is still the FPS are stable, when it moves they drop. I've done this with physics and camera lighting enabled and disabled--same result.

     

    Now, I've had 3 people tell me they have Win 8.1 and no problems, but I'm not sure (except in one case) what vid cards they have. My guess would be nVidia. Sometime this week I'll verify by moving my nVidia to this 8.1 rig and see what happens...

     

    Otherwise, there is something wrong with this rig, which could certainly be possible. Actually I'd prefer that because then it's an isolated case and doesn't reflect a deeper issue... smile.png The other possibility is the mouse is reflecting another issue in which case I'd still like to know what that issue is that seems to be machine-specific (based on my local test here)...

     

    Oh well--too busy to really worry about it right now ;)

  12. Some more info on this: this has NOTHING to do with the camera itself rotating. The FPS stuttering is a direct result of the mouse pointer being re-centered over and over (as is common practice for any sort of "mouse look".

     

    This is either an issue with my Radeon r9 290, or Windows 8.1 (both Microsoft and AMD have confirmed cases of stuttering when turning the camera, which again would use this method).

     

    So, the question now is what to do about it. I've tried re-centering the mouse on one frame and taking a difference reading on the next, but that didn't help. Obviously you have to recenter the mouse or eventually you'll hit a stop, so I'm not sure how else this could be managed in game code.

  13. In that tutorial you will have a memory leak.

     

    Should be a 'delete' in the App destructor

    and a variable to hold the created object

    until you can delete it

     

    Precisely why I asked ;)

    • Upvote 1
  14. If you have done 'new' you must always do 'delete'.

     

    Without knowing the inner workings of any object (in this case model)

    it should never delete any object attached to it. That would be really

    bad design.

     

    Understood, but if you look at the tutorial a delete is never done so obviously I wanted to verify...

     

    edit: the tutorial in question, by the way: http://www.leadwerks.com/werkspace/page/documentation/_/command-reference/object/objectsetuserdata-r22

    • Upvote 1
  15. Thanks, Josh--just checking if I had to do clean up or not.

     

    Thanks for the extra info, Rick. Yeah, I already have collision callbacks working and was using the documented method to pass data. Being able to link them as you describe certainly streamlines things a bit smile.png

  16. Quick question:

     

    If I do something like:

     

    EntityData* entitydata = new EntityData;

    model->SetUserData(entitydata);

     

    Since I use a "new" do I have to "delete" the data before destroying the entity, or does the entity's destructor handle that for me?

     

    Thanks smile.png

  17. Well, I'm not sure what precisely is causing it. I've tried both the latest AMD release and beta drivers (WARNING: for me, I got a noticeable pause every second in debug mode with the beta driver), and did some other suggestions I found to no avail.

     

    Actually, it was better when I had my video driver completely uninstalled, but that makes my triple-monitor setup useless...

     

    If anyone else runs across this, or something similar, please leave a comment. Thanks...

  18. The second video is showing a GPU-based particle system. EVERYTHING is handled on the GPU--Newton would have nothing to do with it.

     

    The thing about GPU systems is that it's easy to feed information to the particle and the emitter, but there's no real way to get any information back (that I know of), so this sort of system is solely for visual FX. If you needed to know if a bullet strikes a character, or if a missile hits a target, then you'd still need to use traditional methods....

    • Upvote 1
×
×
  • Create New...