Official Weekly Update Thread

All discussion on the Chapman Track Creator goes here.
TChapman500
Site Owner
Site Owner
Posts:41
Joined:Sun Dec 24, 2017 5:47 pm
Location:Virginia
Contact:
Official Weekly Update Thread

Post by TChapman500 » Sun Dec 24, 2017 9:34 pm

This is the new, official update thread for the Chapman Track Creator. Updates will almost always be made every Friday afternoon on any week that progress is made on the track editor. If there has been progress made that is exclusive to a simulator, there will be a bold header with that simulator's common abbreviation.

Discussion of the updates in this thread are allowed and encouraged.

TChapman500
Site Owner
Site Owner
Posts:41
Joined:Sun Dec 24, 2017 5:47 pm
Location:Virginia
Contact:

Re: Official Weekly Update Thread

Post by TChapman500 » Fri Jan 19, 2018 2:02 pm

This is the first of the weekly updates on the official Chapman Track Creator forums.
This week was spent debugging a few quarks of the MFC framework that was causing the track editor to misbehave. The good news is that it was just a single line of code that mapped a message to a function that the track editor was never going to use. This line of code is placed there for every "MDI" project using the MFC framework. That single line of code (and the corresponding function) has been removed.

It pleases me to report some very good news concerning the compiler that I'm using. Visual Studio 2017 recently got an update that fixed a problem that forced me to use VS2015. So now I don't have to use two different compiler versions on this project. Oh, and I finally got the old version of the track editor working again after trying desperately to figure out what was wrong with the new version. It's coming to the point where I could just delete the old version and it wouldn't affect the project at all. I've kept it all this time more as a reference in case something goes wrong. But now, because the new version has all of the features of the old version, I almost don't need the old version anymore.

You may have noticed a few changes to the forum since it was created. I've added a forum specifically for users to post their feature requests in. And I've also added a forum for discussions about the Chapman Track Creator's API. Speaking of the API, it got a major update as well. There are now more functions and more options to configure. Plus there's a brief tutorial on how to use the API on the GitHub page. The link to the API is under "Projects -> Chapman Track Creator." I also have been using NR2003 to test the API functionality and it appears to be working perfectly.

The Chapman Track Creator now has multi-threaded rendering implemented. That said, I'll be implementing a way for the track editor to update and send the generated mesh data over to the DLLs to be rendered. Now that the API seems to be working fairly well, I have been adding stuff to the UI to allow the user to change how the track is presented to them. Also on the topic of mesh generation, I've made a few changes to the event system that will make it easier for me to get the various objects to communicate with each other. I guess I should also implement a way for users to add stuff via the viewport now that the new rendering system is working. But first, I'm going to finish-up the mesh generator.

TChapman500
Site Owner
Site Owner
Posts:41
Joined:Sun Dec 24, 2017 5:47 pm
Location:Virginia
Contact:

Re: Official Weekly Update Thread

Post by TChapman500 » Fri Jan 26, 2018 3:44 pm

Progress Report Time:
I haven't been working that much on the track editor this week. I've been busy with other stuff. But I have learned something interesting this week: With the spin control provided by the win32 API, clicking the up button decreases the value and clicking the down button increases the value. Go figure. All this means is that I had to swap a couple of operations to get the correct behavior. I'm hoping to get a little bit more done before the end of the day.

TChapman500
Site Owner
Site Owner
Posts:41
Joined:Sun Dec 24, 2017 5:47 pm
Location:Virginia
Contact:

Re: Official Weekly Update Thread

Post by TChapman500 » Fri Feb 02, 2018 5:07 pm

Progress Report Time:
The grid generator is complete and is waiting to be tested. The mesh generator is going to take a bit longer though as I was still trying to figure out how the various objects would communicate with each other. I have figured it out and am working on implementing it. I have also figured out how the track editor will send the generated geometry data over to the rendering engines and have been changing the API to accommodate this.

For the track's wireframe, the vertex list can be updated for all of the sections at once with no performance impact for highly-detailed segments. At least not on the side of generating and updating the list. Hopefully not on the side of rendering either. There will probably not be a performance impact on the surface vertex list generation either as both are simply a list of integers describing their position along the segment and I only need a total of one list for the wireframe and one list for the surface vertices. Wall vertices may be a different story, especially for the catch fences, but I think I can at least optimize the walls just as much until you try to curve them.

TChapman500
Site Owner
Site Owner
Posts:41
Joined:Sun Dec 24, 2017 5:47 pm
Location:Virginia
Contact:

Re: Official Weekly Update Thread

Post by TChapman500 » Fri Feb 16, 2018 2:18 pm

Progress Report Time:
I've been rather busy with other stuff the past couple of weeks. So I haven't worked on the editor at all last week, and only the past day this week. I'm was hoping to be able to test the grid generator, but the DLL I'm using doesn't have all of the correct code in place. That should be an easy fix though.

TChapman500
Site Owner
Site Owner
Posts:41
Joined:Sun Dec 24, 2017 5:47 pm
Location:Virginia
Contact:

Re: Official Weekly Update Thread

Post by TChapman500 » Fri Feb 23, 2018 5:26 pm

Progress Report Time:
I finally got enough of the API done to test the grid generator. It works perfectly. The grid can be rescaled, and the overhead camera can be zoomed and moved just like in Sandbox. I've been trying for a little while now to fix an issue with the diamond being in the wrong place when the camera is moved, but other than that, everything is working perfectly. A screenshot is posted below and will be added to the "Home -> Projects -> Chapman Track Creator" page. I'm hoping to be able to get that last kink out of the display by the end of the day, then next week I can work on displaying the track wireframe.
Generator_Shot_2.png

Oddonis
New User
New User
Posts:15
Joined:Mon Jan 08, 2018 1:43 pm

Re: Official Weekly Update Thread

Post by Oddonis » Wed Feb 28, 2018 7:43 pm

Hi mate . Nice to hear that you still working on it. I just have a little question, I been following your progress nearly 2 years if not more, sorry about my ignorance but, when will it be like a working beta? I know you don't like to say when.
Please don't get me wrong.

TChapman500
Site Owner
Site Owner
Posts:41
Joined:Sun Dec 24, 2017 5:47 pm
Location:Virginia
Contact:

Re: Official Weekly Update Thread

Post by TChapman500 » Thu Mar 01, 2018 8:49 pm

I really couldn't say right now even if I wanted to. But if I had to guess (and this would be a wild guess), I'd say some time in the summer would be the earliest.

TChapman500
Site Owner
Site Owner
Posts:41
Joined:Sun Dec 24, 2017 5:47 pm
Location:Virginia
Contact:

Re: Official Weekly Update Thread

Post by TChapman500 » Fri Mar 02, 2018 4:44 pm

Progress Report Time:
I'll be a few more days before you see the first sign of any track geometry as I put the code for sending the geometry to the renderer in the wrong place. In addition, I forgot to code the renderer to do something with the geometry data given to it. Oops! So I'm correcting that now.

By the way, the data given to the renderer is not the actual geometry. Generating the actual geometry on the CPU would get too expensive after a while. So instead, the renderer is given the data it needs to generate the geometry in the vertex shader (which is run on the GPU). The data given to the renderer doesn't have to be updated as often, and updating that data it is very cheap.

Oddonis
New User
New User
Posts:15
Joined:Mon Jan 08, 2018 1:43 pm

Re: Official Weekly Update Thread

Post by Oddonis » Tue Mar 20, 2018 10:14 am

Come on ....you can do it. Is nice to read your reports.
Keep up.

TChapman500
Site Owner
Site Owner
Posts:41
Joined:Sun Dec 24, 2017 5:47 pm
Location:Virginia
Contact:

Re: Official Weekly Update Thread

Post by TChapman500 » Thu Apr 05, 2018 5:08 pm

Sorry about not keeping up with the weekly updates. You'll have to bear one more week of not being updated though.

Oddonis
New User
New User
Posts:15
Joined:Mon Jan 08, 2018 1:43 pm

Re: Official Weekly Update Thread

Post by Oddonis » Fri Apr 13, 2018 11:48 am

Anything new this week?

TChapman500
Site Owner
Site Owner
Posts:41
Joined:Sun Dec 24, 2017 5:47 pm
Location:Virginia
Contact:

Re: Official Weekly Update Thread

Post by TChapman500 » Fri Apr 13, 2018 3:48 pm

I did NOT forget this week!

Progress Report Time:
The project got side-tracked for a few weeks while I ran some experiments with other things (bad idea) and lost track of what I needed to do next for the track editor. I spent most of this week trying to implement a way for the track editor to render X Sections (which controls the elevation profile/track banking of individual segments). This has been a little bit more difficult than I thought it would be because I misplaced the code that would generate the data to be used by the rendering DLLs. I've been trying to rectify that. I was hoping to post a preview of the X Sections being rendered, but that's going to have to wait a bit longer.

I also haven't been able to test the rendering system that I do have because every time I update the SDK's LIB and header files, I end up making more changes that require further updates. I'm aiming to be able to get some tests in during this upcoming week, including screenshots. One of the things I'm not so sure about, is how the track editor is going to respond to the X sections being created before the paths. And I ran into a problem with track sections in general and the event system, so I'm going to have to rethink how section data is sent to the renderer.

One thing I have realized is that I may have gone about representing these objects in a relatively inefficient manner, but it's too late to change it. The good news is that if my rework of section rendering works out the way I think it will, it won't really matter. But there are areas where the code is looking like it could be greatly optimized and such optimizations would speed-up development in the long run. I may try making those optimizations in addition to the section rendering code this week if I have enough time left.

TChapman500
Site Owner
Site Owner
Posts:41
Joined:Sun Dec 24, 2017 5:47 pm
Location:Virginia
Contact:

Re: Official Weekly Update Thread

Post by TChapman500 » Fri Apr 20, 2018 2:20 pm

Progress Report Time:
A lot of the problems mentioned in the previous post have been rectified. And as it turns out, I don't need nearly as many events as I thought I did to get the X Sections to render correctly. So the events connected to section properties changing are mostly irrelevant right now. Anyways, here are the test results:

[ERROR]
After optimizing the rendering code so that I didn't have to go through multiple segment loops, I finally got the X Sections rendering. There's just one slight problem: The length of the X Sections is 3 times the length of the segment, which didn't update properly when I changed the segment properties.

[ERROR]
The solution to that problem was fairly simple: Give the shaders that render the sections the correct parameters rather than the incorrect parameters. So now they render correctly. There are a few more things I need to tweak in order to make sure that I can change the color of the sections, but everything is working perfectly so far.

The next item on the list is to get the segment selection boxes working correctly so that you can see which segment is selected and which section on that segment is selected. And then I need to put in some code that allows you to select and insert sections and segments from the viewport. I also need to add code to render other types of sections and to render straight F and W sections on curved segments. Another thing I need to do: Add code to update the rendered geometry for straight segments that are modified. Oops!

Oddonis
New User
New User
Posts:15
Joined:Mon Jan 08, 2018 1:43 pm

Re: Official Weekly Update Thread

Post by Oddonis » Tue May 01, 2018 3:22 pm

No update?

Post Reply