1. Hello Guest,

    We wanted to let you know that the NXS17 templates and viewers have been released!

    Grab them HERE
  2. Hello Guest,

    We wanted to let you know that besides the NXS17 templates and viewers, now we have released the NXS17 Mod as well!

    Grab the latest files HERE
  3. Hello Guest,

    We wanted to let you know that we are trying out a new feature at SRD. Your feedback is needed!

    Read more about the chatbox HERE
  4. Hello Guest,

    We are gauging interest in starting an online racing league.

    Please take a moment and give your vote HERE. Thanks!

Sandbox 2

Discussion in 'NR2003 General Discussion' started by TChapman500, Aug 4, 2018.

?

Grip Level Support

  1. All configurations have same grip levels.

    3 vote(s)
    20.0%
  2. Per-configuration grip levels.

    12 vote(s)
    80.0%
  1. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    The various issues with Sandbox are the exact reason I'm making this program.
    I can try to implement this in Sandbox 2, but I believe this is a limitation of NR2003 itself. If this is the case, then I'll just have the editor create a bunch of smaller segments to make the "straight" XSection as smooth as possible.
    I suppose it doesn't help that the left viewport compresses the X axis by a factor of 5, giving a false sense of scale. I'll implement a "compression ratio" setting and see if that fixes the issue.
    XSections are definitely annoying. But I usually end up with the end of one segment being higher or lower than the start of the next segment. Switching from Forward/Back to Left/Right and back again fixes that. But I stopped using the height view to find bumps when I discovered that the X axis is compressed. Instead, I use the camera view. And even then, once I get the track into a working state, I run over the trouble spot at full speed to see how I need to adjust the track.
    So I noticed.
    To add to the frustration, NR2003 registers the area in that gap as a valid racing surface. So selecting "open on left/right" can cause cautions if cars go into that area. I'm afraid this is a limitation of NR2003 though. If you don't select "open on left/right", then you get an invisible wall that sends the car off to who knows where at hundreds of miles per hour. If you do open the segments, then cars that are not touching any segments may bring out an inappropriate caution.
    Unfortunately, a lot of these are limitations with the simulator itself. FSections and WSections have dynamic lighting simply from the 3DOs that have light sources attached to them. The shadow maps are still static. The only way to fix that is to somehow obtain the source code to NR2003 or make a clone of the simulator. I can make the track editor able to mitigate these issues with clever modifications of certain variables, but I have to work within the limitations of the simulator itself.
     
  2. Rufio2031

    Rufio2031 BBMC Tracks

    Messages:
    187
    Likes Received:
    591
    Here's just a few ideas and wishlist items, some I know have already been mentioned or announced.

    Global:
    1) Undo/Redo
    2) Copy, Paste.
    3) Keyboard shortcuts and modifiers

    Geometry View:
    1) Continue F or W Section to next segment, where it stays attached to the previous F or W section.
    2) Maintain consistent F section widths with Copy F Section width forward.
    3) Insert F/W/X section with shift/ctrl/alt/etc + click.
    4) "Paint" surface material. Highlight material, say "Asphalt", then be able to simply click on the sections to apply that material.

    Object/TSD View:
    1) New approach to 3do/TSD placement. Select/Highlight object from list. Then left click, shift-click, ctrl-click, etc. in world to place the object. Where modifier buttons will add instance, duplicate, etc.
    2) Snap 3do to ground.
    3) Rotate 3do to face centerline

    Etc:
    1) Pit box view. Place pit boxes, spits out .txt
    2) Camera placement tool. Spits out dlat/dlong, elevation, direction, etc.
     
    Last edited: Jun 28, 2019
  3. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    -----------------------------------------
    Announcement concerning the track editor as well as a few other things.
     
  4. riviera71

    riviera71 Well-Known Member

    Messages:
    852
    Likes Received:
    534
    I don't remember if it was me or someone else that asked but I distinctly remember one of the PWF guys replying to that question in their old forums with (paraphrasing) "we need to invent new math for that to happen" :D
     
    TChapman500 likes this.
  5. Mystical

    Mystical Always 110%

    Messages:
    4,172
    Likes Received:
    6,368
    Even if these limitation cannot be helped just the ability to build tracks faster with more intuitive UI and copy/paste functions it'll be a dream come true. Sandbox maxes certain things like placing and moving 3d0's a royal pain. I won't got into a huge feature list of quality of life ideas until we get to that point but I definitely have some good ideas when it comes to track building that can make things be much easier to navigate/build certain aspects of a track.
     
    joeykraus19 and TChapman500 like this.
  6. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    First screenshot of the track editor since the project reset after I hit the build button until I had removed all of the errors.
    Sandbox2.png
    I haven't implemented the 3D graphics yet because if I did, it would be harder for me to implement different viewport configurations. I want there to be support for up to 4 viewports; each of which correspond to one of the 4 possible views of the original track editor.

    The "Calander" is NOT going to be in the final product. That's just leftover from the files Visual Studio generated.

    "Class View" will be "Scene Explorer" and will be a tree view of all of the stuff in the scene (cameras, AI lines, track segments, etc.). "File View" will tell you what files will be copied over to NR2003's track directory when you export the track. "Properties" will be how you do ALL keyboard entry stuff for various object properties, complete with a description of the selected property. No more alt-tabbing between the main window and a dialog box! "Output" will give useful information about various things that happen (eg: failing to find a texture for a custom object, stray track segments when trying to export, etc).

    Currently, everything in the screenshot is generated by Visual Studio as a generic application that really doesn't do anything. That'll change soon, starting with the viewport.
     
  7. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    Did a little experiment in Visual Studio 2019 since Visual Studio 2017 was giving me some trouble with DirectX. This is what I discovered when I was messing with the generated scroll bars (which I am trying to remove). It's also the case that I discovered what I was doing wrong with DirectX: I was using the wrong library. Back to the drawing board.
    Sandbox2 - VS2019.png
     
    Harry Nurpplez likes this.
  8. Mystical

    Mystical Always 110%

    Messages:
    4,172
    Likes Received:
    6,368
    Will the windows be able to be undocked as well?As someone that uses multiple monitors the extra space when working can make a big difference. I would always put all the extra sandbox windows on one screen and then just have a giant 3D view for another to see more closely.
     
  9. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    Haven't thought of undocking the viewports. That would create an interesting set of challenges, especially if we allow the viewports to go onto a different screen. Typically, that results in the part of the window that crosses display boundaries turning black in the rendering area. Anyways, I got the split function to work the way I wanted. Eventually, I'll have it handle different configurations. But I would definitely like to experiment with undocking the viewports. Oh, and the file explorer pane will eventually be dockable as well (which it currently is not).
    Sandbox2 - Split Viewports.png
     
    Harry Nurpplez likes this.
  10. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    Fact: DirectX 11 can be initialized with just one line of code. You won't be able to render anything, but at least it's initialized.
     
  11. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    Thought I'd give you guys an update on this project. I will try to work on this project at least a little bit every day (except Saturday) so that it's continuously being worked on throughout the week.

    A couple of things I've done since the last post:
    • Added error handling for missing shaders. Eventually, there will be support for shader packs and the editor will revert to the default pack if it cannot find the appropriate shader in the selected pack. If a shader cannot be found in the default pack, the editor will list the missing shaders one at a time and then quit.
    • Added code to fully-initialize the graphics engine to the requirements of the editor and to render the grid.
    • Forgot to finish adding all the generic shaders before trying to test-out the renderer. So no test results this time around.
    Also, I'm trying my best to create a graphics library that I can just copy over to my other track editor project. So far, 100% of this library will be compatible with both track editors. Eventually though, graphics components will be added that must be exclusive to this editor.
     
  12. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    Shader error checking has been successfully debugged. The program no longer crashes when there are problems with the shaders without first telling you WHAT is wrong.
     
    Harry Nurpplez likes this.
  13. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    I learned an interesting trick I can use with the vertex shader to allow for infinite grid lines without sending any vertices to the GPU. So I don't need to do any fancy tricks with instancing to give the appearance of an infinite grid. It will also save a bit of memory by not requiring the grid lines to be stored on the GPU. I can also now allow the user to specify the major grid interval. The major grid can be colored differently from the rest of the grid lines so make it easier to judge positions. Grid lines that are on the axis lines can also be a different color from both the normal and major colors. I also figured out how I can get the origin diamond to always face the camera and maintain a constant pixel size.
     
    Harry Nurpplez, Gravite and Mystical like this.
  14. NascarGuy42

    NascarGuy42 Well-Known Member

    Messages:
    1,038
    Likes Received:
    547
    Fascinating stuff to keep up to date on, man. Great job so far.
     
    Gravite and TChapman500 like this.
  15. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
  16. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    Went to test the rendering enging only to be greeted with an access violation error. Apparently, there's a pointer trying to be accessed who's value is the maximum possible value and is way outside the range of my computer's memory. I can't seem to trace it.
     
    Harry Nurpplez and Mystical like this.
  17. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    NR2003 doesn't support this, but I was thinking of adding the Euler Spiral in as a guide for track segments. Unfortunately, you can only get a maximum of about 4.5 complete turns before the math starts breaking down and you start getting some "interesting" results. It probably wouldn't be in the first two milestones, but it would be in the "feature complete" milestone if implemented. Euler Spirals are good for smoothing the transition between straight segments and curved segments. And it's a shame that NR2003 doesn't support it.
     
    Harry Nurpplez and Mystical like this.
  18. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    Discovered that "Grid::Initialize()" is never called but "Grid::Render()" is called! The funny thing is, this doesn't always cause a crash.
     
    Harry Nurpplez likes this.
  19. TChapman500

    TChapman500 Well-Known Member

    Messages:
    244
    Likes Received:
    407
    Figured out why Sandbox 2 kept unpredictably crashing. And fixed it! I simply moved the code that creates the viewport pane and the rendering thread into the viewport manager. Now we get the exact same background color as the original Sandbox. Unfortunately, I didn't give the shaders any parameters, so the grid isn't rendering. In fact, there's no data to give to the shaders. But at least it's not crashing anymore.
    Sandbox 2 Preview 1.png
     
    Harry Nurpplez and Mystical like this.
  20. Jonny683

    Jonny683 Just a guy

    Messages:
    520
    Likes Received:
    534
    So, as someone who tried to make a track, and knowing people that have, how easy is this going to make Track making? Like, are we talking "plop this, place that, connect that, done?" Or a more? Dumb question, but I've been interested in how these tracks work and been curious in the construction of a track.
     

Share This Page