Announcement

Collapse
No announcement yet.

Virtual Texturing Feedback

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    The fps drop is immediate upon enabling virtual textures and restarting the editor.
    Without even setting anything up for it.

    I was hoping that setting things up would solve it, but either in native mode (is that what we call it? Converting all textures for the landscape to VT and fixing up the materials) or with the volume method the FPS don't seem to budge back up.

    Granted I'm on a 1080ti which is why I find this impractical. If i place a transparent gertner material on the landscape the fps is pretty much down to something like 30. Without VT it's back up to about 60.

    Hopefully it's just a kink due to the fact this feature is in Beta. Can't have something to optimize memory that destroys the overall rendering times...

    Either way, at least before the 23.1 update it was really hard to even set things up to test. Pretty much constant crashes. Maybe now it's better, but I would hold off until 4.24 as the torello board shows that the system is coming out of beta...

    Comment


      Originally posted by YuuJin View Post

      https://www.youtube.com/watch?v=DPGu8PWEevk
      you can do that with tri planar mapping already with world coodinates

      I think i saw somewhere there's a node with that built into the engine as well,
      i've only tested tri planar on objects
      Thanks for the reply, YuuJin. I know texturing with world-aligned projections is possible. I'm using it (see attached screenshot). My question is:

      - would it be possible to use virtual texturing along with a landscape that uses it (world-aligned texture mapping)?
      Attached Files
      ATARU
      www.atarugame.com
      www.facebook.com/atarugame
      www.twitter.com/atarugame
      https://www.youtube.com/channel/UCTu...uHXLnF3ix6GGTA
      https://www.youtube.com/watch?v=a200tHomA0w
      www.instagram.com/atarugame

      Comment


        Originally posted by MysteryBlues View Post

        Thanks for the reply, YuuJin. I know texturing with world-aligned projections is possible. I'm using it (see attached screenshot). My question is:

        - would it be possible to use virtual texturing along with a landscape that uses it (world-aligned texture mapping)?
        I gave up with using a virtual texturing for landscapes since I couldn't get the endless thing to layer, so I don't know all the rules, I've just gone back to doing a simpler material and attempting fancier things with landscape grass

        I assume if you're using a simple landscape material stack with less instructions it'd be doable

        Comment


          Originally posted by MostHost LA View Post
          The fps drop is immediate upon enabling virtual textures and restarting the editor.
          Without even setting anything up for it.

          I was hoping that setting things up would solve it, but either in native mode (is that what we call it? Converting all textures for the landscape to VT and fixing up the materials) or with the volume method the FPS don't seem to budge back up.

          Granted I'm on a 1080ti which is why I find this impractical. If i place a transparent gertner material on the landscape the fps is pretty much down to something like 30. Without VT it's back up to about 60.

          Hopefully it's just a kink due to the fact this feature is in Beta. Can't have something to optimize memory that destroys the overall rendering times...

          Either way, at least before the 23.1 update it was really hard to even set things up to test. Pretty much constant crashes. Maybe now it's better, but I would hold off until 4.24 as the torello board shows that the system is coming out of beta...
          maybe beningram has a sample landscape with virtual texturing on it

          Comment


            Hi
            I'm desperately trying to use Virtual Streaming Textures in order to load multi-UDIM textures, however it just doesn't work.
            I've enabled VT in the Settings and I'm using a 4x4 UDIM layout (1001-1004;1011-1014;1021-1024;1031-1034) which is a power of 2 but it still won't work.

            Please see my example below:

            1) Textures applied on plane mesh as seen in Mari & Maya viewports. The order is as expected:

            Click image for larger version

Name:	maya_mari_viewports.jpg
Views:	651
Size:	177.6 KB
ID:	1679735


            2) Textures applied on plane mesh as seen in Unreal Editor viewport along with mesh Detail. The order is wrong:

            Click image for larger version

Name:	ue_viewport.jpg
Views:	551
Size:	128.8 KB
ID:	1679736

            3) UE Texture Editor view with Details:

            Click image for larger version

Name:	ue_textEditor.jpg
Views:	550
Size:	128.4 KB
ID:	1679737

            4) UE Material Editor with Details:

            Click image for larger version

Name:	ue_matEditor.jpg
Views:	553
Size:	207.7 KB
ID:	1679738


            I've spent a few days trying to solve this so any help would be greatly appreciated!

            Thanks

            Comment


              Am I really the only with this problem?
              Has anyone ever managed to get UDIMs to read properly?

              Comment


                Originally posted by ElephantFury View Post
                Am I really the only with this problem?
                Has anyone ever managed to get UDIMs to read properly?
                I posted my solution in post #105 of this thread

                Comment


                  Thanks for replying. I saw your suggestion but renaming all the textures and shuffling all the UVs is more a hack than a solution.
                  It's smart but not applicable to the hundreds of assets already textured in UDIMs that my production needs to function in Unreal.

                  Comment


                    Regardless of how the UE4 texture viewer displays the UDIM, the results should be correct when applied to a model. The 1001 image should apply to the 0-1 UV space regardless of whether it's displayed in the lower left or upper left corner of the larger UDIM space.

                    Comment


                      Originally posted by Haoris View Post
                      After some tests, it looks like the quality of the virtual texture is relative to the size of the RuntimeVirtualTextureVolume which make this unusable on landscape for almost every project, even while setting the size of the virtual texture in the RVT asset to 8 (max value), unless you work on a landscape smaller than a RuntimeVirtualTextureVolume with scale of 10000*10000 max.
                      While using it on a 8kmĀ² lanscape it goes from this : Click image for larger version Name:	HighresScreenshot00000.jpg Views:	1 Size:	548.8 KB ID:	1661769
                      To this :
                      Click image for larger version Name:	HighresScreenshot00002.jpg Views:	1 Size:	278.9 KB ID:	1661770
                      In fact, to get the same quality than in the first screenshot, I have to set the scale of the RuntimeVirtualTextureVolume to 5000*5000 which is not really usable
                      So anyone knows how to fix this? Or its a bug to be fixed by epic?

                      Comment


                        Originally posted by beningram View Post
                        Regardless of how the UE4 texture viewer displays the UDIM, the results should be correct when applied to a model. The 1001 image should apply to the 0-1 UV space regardless of whether it's displayed in the lower left or upper left corner of the larger UDIM space.
                        Hey Ben,
                        I don't mind that the Texture Editor's display doesn't match how the textures are loaded in the scene.
                        The problem is that the order is unfortunately also wrong in the scene.
                        As you can see in my test case, the 1st row 1001-1004 is correct, but unfortunately all the other rows are jumbled.
                        My test case is a simple 4x4 tile plane with 16 UDIMs named accordingly. I've included images of how it should look in Maya & Mari as a reference above.
                        I'm trying to develop a common workflow for prerendered and realtime productions in our studio and this is currently one of the biggest sticking points.
                        Thanks

                        Comment


                          Ah sorry, I missed the part where you had applied the texture to a plane in engine. Everything else looks the way I would expect it to. What do the UVs look like on the plane mesh you're using?

                          Comment


                            Originally posted by BulleTime View Post

                            So anyone knows how to fix this? Or its a bug to be fixed by epic?
                            Answer here :

                            Originally posted by beningram View Post
                            The resolution of a given virtual texture ultimately is limited by the page table size. VT is typically divided into tiles of 128x128 pixels. Each VT gets a page table allocated, where each pixel in the page table corresponds to 1 tile in the physical texture. So an 8k x 8k VT would require a 64x64 page table texture. This isn't generally an issue for more "normal" sized VTs, but it becomes a problem when you want to create huge VTs to cover terrain. The page table size is limited by GPU texture limits, and it's also an uncompressed texture, so once it gets too large it actually starts to consume a large amount of memory.

                            So for terrains, I think the current state of the art is to dynamically adjust the page table as the player moves through the world, so only pages "close enough" to the camera origin are kept in memory. There are various ways to do this, one of them being the Adaptive Virtual Texture method Jeremy mentioned in the live stream. I believe there are slides online somewhere that describe how this works in the context of one of the recent Far Cry games. The plan is for us to implement something like this for future version of UE4, but I don't have any specifics to offer yet. For now RVT will be limited to the current size limits, so it won't work for huge terrains.

                            Comment


                              Originally posted by beningram View Post
                              Ah sorry, I missed the part where you had applied the texture to a plane in engine. Everything else looks the way I would expect it to. What do the UVs look like on the plane mesh you're using?
                              Hi Ben,

                              Please find below an image showing how the UV layout is in Maya:

                              Click image for larger version  Name:	maya_viewport_and_UV.jpg Views:	55 Size:	265.1 KB ID:	1686085

                              As a comparison, here is how the same model and textures behave in an Unreal scene (v4.23.1):

                              Click image for larger version  Name:	ue_viewport.jpg Views:	53 Size:	128.8 KB ID:	1686086
                              As you can see, it looks like the 2nd row (1011-1014) and the 4th row (1031-1034) are swapped.
                              Actually, what's happening is that, aside from the 1st row, all the rows start from top to bottom (instead of the opposite).

                              This can clearly seen in this example below using 100 udims spread on 10x10 tiles (correct order in Maya on the left, wrong order in Unreal on the right):
                              Click image for larger version  Name:	compare.jpg Views:	0 Size:	386.2 KB ID:	1686986



                              Many thanks for looking into this!
                              Last edited by ElephantFury; 11-14-2019, 07:33 AM.

                              Comment


                                Originally posted by Zero-Night View Post


                                Very happy with it so far, the only omission I can find is, it would be nice to have support for PVTs for displacement use. Otherwise, a few bugs and crashes aside, it's wonderful.
                                also want to know how to use displacement with vt. is it possible know?

                                Comment

                                Working...
                                X