Search Unity

[Released] MegaSplat, a 256 texture splat mapping system..

Discussion in 'Assets and Asset Store' started by jbooth, Nov 16, 2016.

  1. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I'd be interested in seeing some shots of how that looks. I haven't used Terrain Composer at all..
     
  2. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    I've played with the TC2 beta some. It has a node approach sort of like Map Magic, but instead of freeform nodes, they live on rows that act sort of like layers in Photoshop. There are different sections in the UI for height, splat map, trees, grass, and object placement. The layers have a unique color-coded thing going on.

    One pretty unique thing is that any changes you make to nodes update in realtime on the terrain via compute shaders.

    It's pretty cool. A couple things I didn't like is that for something like defining the slope values for a splat map, you end up editing a normalized curve, as opposed to just entering in a range of angles like Map Magic. There's a good variety of noise functions and even some GAIA-like "stamp" bitmaps, but so far I found the noise was much easier to adjust in Map Magic.

    TC2 can generate multiple terrain tiles. It doesn't yet have any kind of streaming option, but it's coming. I seem to remember that tight integration with RTP is or will be part of it. Some kind of integration with MegaSplat would be pretty sweet. Though from what I've seen of the demo, Map Magic may work a bit more like my brain works, even if it doesn't have the whiz-bang GPU-powered terrain and the UI isn't as pretty. The infinite terrain approach to Map Magic seems cool too.
     
  3. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I think we don't have quite enough MegaSplat users to get the authors of these packages to integrate MegaSplat directly yet. I've been talking to a few of them (Map Magic, Gaia, World Creator, but not TC yet) and they've all been very interested and helpful, but slow to get the wheels turning on a direct integration. That's why I switched over to writing the converter from standard Unity terrains, because it allows you to convert from these packages easily.

    I think it's also difficult to explain some of the advantages MegaSplat has without spending time with the package. For instance, I think the Texture Cluster concept is a total home run compared to other anti-tiling techniques (most of which require extra samples). Additionally, the data layout is really different than what all of the other techniques use, so getting your head around the 2 layer with per-control point texture selection concept takes some work, and building a texture selection UI that actually pushes that to it's limits is another problem as well. But once you do, it really opens up a wealth of possibilities that simply aren't possible with the current techniques other packages are using.

    That said, I think it will eventually happen with at least some of them. At the minimum, directly integrating the current converter so it happens when you generate new terrain seems like the next logical step. A deeper integration, which really takes advantages of the power in the package, is something I'd really love to see though. Users asking for it would certainly help as well.
     
    Goodgulf likes this.
  4. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    I don't even own Map Magic yet, but what I'd like to see is a way to have it generate its infinite terrain and have it still work with MegaSplat. The Texture Cluster approach could make that manageable. Like maybe you could still set up the rules for how you want your splats generated for each cluster, and the textures for those clusters would be generated with similar textures in the same way as manual painting works somehow.

    I believe Map Magic has a user-extensible architecture for creating new node types. So if MegaSplat is controllable enough via code, it may be possible to create one even without the author's direct involvement. Some users on the Map Magic thread have suggested creating a repository for user-created nodes. Not sure what it takes to make those. In any case, I'll post the suggestion on that thread.
     
  5. fisherman_b

    fisherman_b

    Joined:
    Dec 18, 2014
    Posts:
    36
    Hey,

    I am very impressed by what this asset can do and how it has been improved over the past few months. If I was currently developing for desktop, buying it would be a no-brainer. But I am working on a top-down project for iOS (Metal, targeting only iPad Air or newer). My concern is performance. IPad Air 2 had a great boost of graphics performance, but the original iPad Air is not a rocket due to high screen resolution and a not so great GPU. I am aware that it is impossible to estimate performance for all available devices out there, so I am asking for possible experience with Megasplat in this area. I am interested in two use cases:

    1) Terrain
    I am experimenting with both Unity terrain and more or less optimized terrain meshes (reduced polygons, hand unwrapped uvs) and 4 to 8 diffuse textures (no normals or speculation for now). It's a multi tiled terrain. I tried the Unity legacy diffuse terrain shader on Unity terrain, and a solution from the asset store to paint splat maps on terrain meshes. 8 textures on Unity terrain seems not to be an option, 8 textures using Splatpainter sem to work but may lead to performance issues when the scene gets more crowded with additional geometry and materials. I also have to keep in mind that I cannot use only baked lighting as scene objects will be added and removed at runtime, So light / shadows will most likely make things worse. But I would hate to be limited to 4 terrain textures.
    Can Megasplat be a competitive solution for 8 textures on terrain meshes here, performance wise?

    2) Alpha Layer painting
    I saw the video showing off the new feature of painting textures in the alpha channel to allow for a decal-like workflow (simple texture with a few areas painted "on top"). Compared to decal solutions (place objects in the scene, assign transparency shaders) is the Megasplat way a heavier or lighter solution, performance wise?

    Your experience is appreciated!
     
  6. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    As always, the answer is 'depends'. While MegaSplat isn't targeted at mobile specifically, it does have a large number of options that may make it potentially viable for Mobile. (Full disclaimer, I ship mobile games at work, and spend my days trying to eek more performance out of the crappiest devices, so in a way MegaSplat is my time to forget about a lot of that).

    1) MegaSplat has a consistent performance cost per-pixel, per-layer, regardless of how many textures are used. Now, using more textures means more textures going through the cache, so there is some memory bandwidth cost, but essentially every triangle samples exactly 3 textures per pixel/per layer/per channel. The next version of MegaSplat includes a diffuse only option for texturing, which actually looks surprisingly good.
    Using a mesh, this gives you a full 256 texture object at 3 samples per pixel, which is much cheaper than Unity's terrain texture, which samples a splat map and then samples 4 textures, and if you go over 4 textures, draws the object a second time repeating the process. (Doubled if you have normals).
    This also means that you could use a 2 layer MegaSplat shader, which gives you two textures per triangle and a blend weight between them at just 6 samples per pixel, which is still cheaper than Unity's terrain when rendering more than 4 textures. It's also done in a single pass, which is a big win.
    Another thing to consider is the packing modes. In NormalSAO mode, MegaSplat can do a fully PBR surface (sans Metallic and Emissive, which aren't used often on terrains much anyway) in just 2 textures. Unity's Standard Shader requires 3 textures for this.
    So yeah, while not targeted at mobile, I think performance can be very good for mobile if the look these modes gives suits your game. The new Ramp lighting mode, coming in the next release, will also add a way to replace the entire lighting pipeline with a single texture lookup, which is also very fast.
    Also of note is that with so many textures available, you can actually use several small textures to create a surface rather than using one large texture. This can improve memory bandwidth while improving the visual look (See: Texture Clusters in the docs).

    2) Again, it's going to depend. The advantage of a decal is that it's only one texture sample per pixel (assuming just diffuse). The disadvantage is that it's potentially another draw call and has to use alpha blend. The advantage to MegaSplat is that it can be part of the same draw call, doesn't have to use Alpha blend; the disadvantage is that the Splat mapping layer has to sample 3 textures per triangle, so you are doing 4 samples instead of 2.
    There's also batching to consider, which is a whole other topic. By default, the vertex painting is applied in an additionalVertexStream; this swizzles the original vertex data and the modified data at runtime to create a combined mesh on the GPU. However, this requires the mesh be on the CPU and not be statically batched. To fix this, you bake the final paint jobs down to unique meshes, which takes more memory than the additionalVertexStream does, but allows you to statically batch all of the meshes together. Thus, you could have thousands of objects painted with MegaSplat's 256 textures which all draw as one draw call - but you'd chew up more memory for those unique meshes.
    So, while I think you can achieve some of the same results a decal system gives you, I wouldn't recommend it as a replacement for decals. Like any graphics technique, there are lots of tradeoff's involved, and you need to be careful to choose the right ones.
     
  7. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    Hi, we have some issues with MegaSplat and source control. Basically the Texture arrays (like megasplat_diffuse_tarray.asset) are like 160MB each. I am guessing they contain the combined splats etc. Isn't .asset supposed to be a configuration file? If they would have some different ending we could set that type to git lfs, but we don't want to include all the other configuration files, such as QualitySettings.asset to git lfs.
     
  8. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Unfortunately the only way to save a Texture Array in unity is as an asset. You could rename the extension, but they Unity wouldn't treat them as assets in builds (naming them .bytes might work?)
     
  9. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    upload_2017-1-11_21-22-57.png
    I'm getting this error with a custom TextureArray. This happens when I click update. Also is there an option to auto update a normal array according to the diffuse array?

     
  10. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    I've restarted Unity and the error is gone for now. Might be something you could try to catch in case it happens to someone else. A question: How do I procedurally paint clusters? I've managed to paint top/bottom textures by setting the control textures but I'd like to use clusters for that.
     
  11. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Ha, I actually just got that material error this morning and fixed it. If it's causing any issue, send me your invoice and I can send you the latest, though in my case it was just annoying and not affecting anything.

    To work with clusters, go to your diffuse texture array and click AutoGenerateCluster. This will collect and textures with the same name and different numberings into a cluster. You can also add them manually, etc. Most of the time I just use them for variation via the noise functions, but you can also create them to use height or slope angle to chose between different textures.

    Once you have some clusters defined, they should show up in the cluster tab, and you can use the multi-brush to paint multiple clusters on both layers at once..
     
  12. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    Yep i managed to get that far, however we are doing procedural generation (as in during runtime). So far we are setting the pixels of the control texture:

    Code (csharp):
    1.  
    2.      float r = (float)TerrainTexture.Grass2 / 255;
    3.      float g = (float)TerrainTexture.Grass1 / 255;
    4.      texture.SetPixel(startX + x, startY + y, new Color(r,g,forestVal));
    5.  
    I was wondering if theres a way to use the clusters there instead of just the single top bottom values.
     
  13. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    No, they are an editor time feature, as the raw data knows nothing about them. That said, you could copy the cluster data into runtime data and choose them via a noise function. That's all the painter is really doing..
     
  14. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    I see, thanks for the info.

    What are the recommended lighting settings for MegaSplat? Some textures are awfully bright with 1.0 directional lighting intensity.

    upload_2017-1-11_23-5-36.png

    grass_03 vs grass_01
     
  15. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Unless your using the tessellation shaders, it runs through Unity's standard lighting, so everything should match up with the standard shader. I may have not done the best job normalizing all the textures; I knew, once I got the technique running, that it was important to explore and show off the capabilities of the toolset and that I'd need a lot of texture data to do that.
     
  16. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    Update on the procedural generation:

    upload_2017-1-13_1-13-45.png


    It's coming along :).

    However I'm not sure what the best way would be to blend layers in an area where 3 or more different texture types all blend together. In the default terrain shader you just add up the splat values to 1 total.

    In my example I have a rocky ground with some grass area and also a forest floor in the middle. How can I blend the area where there is all 3 of them are present? In the default terrain shader I would just:

    Code (csharp):
    1.  
    2.                 splatWeights[0] = grassVal;
    3.                 splatWeights[1] = rockVal;
    4.                 splatWeights[2] = forestVal;
    5.  
     
  17. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I would just take the highest 2 weighted textures for that vertex. MegaSplat, in two layer mode, allows for one of 256 textures on each vertex (or pixel when working with Unity Terrains) per layer. Across a face, only 3 samples (per layer, per channel) are needed no matter how many textures are used on the model. This is different than traditional splat mapping techniques, where you sample each texture used and then blend the results based on weights, but it comes with the limitation that each layer only has one texture at each control point.

    That said, with a two layer shader you could see up to 6 textures blending across a triangle, since each triangle gets three textures and you have two layers. So if you really wanted to preserve that third value, maybe it's dropped value gets added to it's neighbors or something?

    Also, for the next look, I find using several variations of a texture and choosing them based on a noise function for each vertex really helps break up the tiling look that regular textures give.
     
  18. PiAnkh

    PiAnkh

    Joined:
    Apr 20, 2013
    Posts:
    126
    By the way, would it be possible to replace the noise function with a custom one, for example using a small texture?
     
  19. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    You mean the noise function that Texture Clusters use? Sure, wouldn't be hard to do- but what's the desired effect your going for?
     
  20. PiAnkh

    PiAnkh

    Joined:
    Apr 20, 2013
    Posts:
    126
    I would like to reduce the change that the same texture is used next to each other. The built in noise pattern looks to be like a cloud noise which has a more gradual change. It might be useful to have other noise patterns such as white nopise which might have the effect of mixing up the splats.
    But maybe the same effect can be achieved by changing the parameters of the noise function. I must admit that it not so clear to me how changing these parameters actually change the noise. I never notice a difference in the graphic if i change the parameters
     
  21. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    This can be achieved with the current noise. Basically, if the noise frequency is high, then you'll get the same as a white noise. If the noise frequency is much lower (try something like 0.001), then it will tend to repeat the same textures for a while before switching. The amplitude basically allows you to bias the blend towards one texture or another, and isn't really that useful, but left in for completeness of the noise function. For instance, if you had 3 textures and wanted the middle one to be used more, you could lower the amplitude so that the higher/lower textures are less likely to be picked.

    In general, I only really mess with the frequency.
     
    PiAnkh likes this.
  22. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461

    Also worth pointing out that the noise is only chosen at the control points- so even though the noise function is 'cloudy', it's only choosing the value at that vertex/pixel in the control data.
     
    PiAnkh likes this.
  23. PiAnkh

    PiAnkh

    Joined:
    Apr 20, 2013
    Posts:
    126

    Thanks! That makes it clearer what sort of values I should try. I will experiment with that.
     
  24. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    Thats what I'm currently trying, for some reason the blending seems to cut off between 0.0 and 0.5 of the noise value, so it's not blending properly.

    Left is the debug output of what noise im using (perlin noise). As you can see only the lightest values above 0.5 are seen on the top layer. The noise is in the area of 0-1 but multiplied by 0.6 to see the cutoff effect better.

    upload_2017-1-13_18-41-30.png


    Same with the full perlin noise 0-1:

    upload_2017-1-13_18-47-18.png

    It just becomes cut off below 0.5.
     
  25. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Interesting- I must not be range mapping the output value's correctly, should be an easy fix. I'll look at it tonight..
     
  26. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    So I just tested this using the moss cluster included with megasplat and filling the mesh with it. I see a pretty even mix of all 3 textures chosen:

     
  27. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    In you picture the borders between the textures are also abrupt without blending. Shouldn't it gradually blend according to the blend value?
     
  28. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    That's because I have the contrast cranked to make it easy to see the borders - lower contrast, more blend..

    With lower contrast:

     
  29. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    That low contrast looks really nice, for some reason my Interpolation Contrast slider has barely any effect, just a tiny bit of blend.

    Here is the Noise cutoff better visualized:
    upload_2017-1-14_15-16-49.png

    It's always the same perlin noise pattern, just multiplied to visualize the effect of different ranges. So basically > 0.5 is treated as use top texture and < 0.5 use bottom texture.
     
  30. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Yes, the 0-1 value maps across the list of textures- so if you had 5 textures, a 0-0.2 would be the first texture, 0.2->0.4 the second, etc.. Adjusting the amplitude down would lower the max value, thus choosing upper textures less (or not at all). Increasing the amplitude would bias it towards the top textures. Mostly though, I think you want to just adjust the frequency and leave the amplitude alone.

    I use a 3d gradient noise, but I swizzle the .xyz of the vertex position for each octaves, which gives it a less patterned look than perlin, IMO. It would be quite easy to add additional noise types of there's a specific noise you want, though.
     
  31. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    I think we might be talking about separate things (or I didn't understand properply): I'm talking about the blend value as in blue of the control texture as per MegaSplat documentation:

    The problem is the Color.B not blending properly for me.
     
  32. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Ah, color.b is the blend between the two layers. However, it is a height based blend, so it takes the height map of the two textures into account, as well as the contrast value. This means that for each pixel, depending on what's in those height maps, the actual point in which it starts/ending it's crossfade between the textures is going to be different..

    In essence, what MegaSplat's two layer shader does is height blend the three textures on the face for each layer, then height blend those layers together.
     
  33. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    So how would I get it to blend in a slow gradient on a flat terrain (our game is mostly 2D)?
    EDIT: for some reason I can blend a rockyground and grass texture smoothly, but can't do the same with 2 different grass textures.
     
    Last edited: Jan 14, 2017
  34. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    Looks like the issue only happens when i try to blend 2 of your grass textures, maybe because they are too similar?

    If I use different ones it blends correctly:

    upload_2017-1-14_18-48-59.png
     
  35. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Grass and moss both have very little information in their height channel compared to the other textures I use. That allows them to be predictable when you paint them vs. something with a high contrast height value (like stones), such that they grow in the cracks of that surface before they cover the top. But if you are blending them on multiple layers, you're going to end up with very similar height values, causing the transition to happen very fast.

    To back up for a second, why are you painting grass on one layer and a different grass on the second layer using noise? You can do this all on one layer - that's what the Texture Cluster system is for. If all of your grass textures are in a cluster (you can just name them grass_01, grass_02, etc, and click on Auto Generate Clusters on the texture array and it will create clusters for you), then when you paint with that cluster it will use a noise function to choose between the different textures such that you get a similar effect to what you have above (there are also options for using height or slope to choose). Then you can use the other layer to blend in very different surfaces, like rocks, or whatnot.
     
  36. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    I am generating procedurally during runtime, remember. As you said yourself, clusters are a editor only feature.
     
  37. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I still wouldn't use layer weights for that, but rather just vary the index on each vertex; it will perform nice blends from vertex to vertex. That's all Texture Clusters do, really, is put a nice wrapper around choosing from several textures instead of one.
     
  38. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    So just single layer and different indexes according to the noise on Color.R? This gives me something like this:

    upload_2017-1-14_22-34-13.png
     
  39. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    You shouldn't touch color.r - that's used for the filtering. You should either be writing an index into color.a (bottom layer) or UV3.w (top layer) for which texture you want on each vertex.
     
  40. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Wait, I just realized your using a Unity terrain, in that case, yeah, color.r
     
  41. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    I would like to aska couple of beginner question about Megasplat. I have been using RTP terrain shading earlier but I would like to have more simple solution because because I see that my need is still quite simple and quite often I am having problems to replicate the settings in RTP. Below you can see an example what I have been using Unity for.

    I would like to check few items regarding Megasplat before buying it:
    - is it possible to control the border between different textures? In some parts of my terrain I would like to have really clear border between textures (grass=>Sand) but in some parts it woud be essential to have more blended transition (Grass=>Forest ground).
    - Is there a way to use some kind of global color map and normal map to break the repetition of textures? I really like this possibility in RTP.
    - Is it possible to control texture hue/saturation/brightness of the textures in Maegasplat or does this need to be done in image editing?
    - Does Megasplat work with Terrain Composer. I am using Terrain Composer and splatmaps created in other software for texturing the terrain and placing trees and grass. It would be essential to make sure that I can still use Terrain Composer.

     
  42. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Right now the contrast setting between textures is global. I might be able to allow per-texture contrasts, but I'd have to try it to see how it looks before knowing if it would get the desired effect.

    Yes. Although texture repetition isn't really a problem with Megasplat, because with 256 textures available, you can design your textures with several variations and have the brushes paint these down randomly to create something that never tiles.

    No, this is best done in an image editing software. You can do these operations in a shader, but they make the shader considerably more expensive, so it's usually best avoided.

    MegaSplat can convert any standard Unity terrain to MegaSplat texturing. This is done by mapping one of the original textures in the Unity terrain to a texture cluster (one or more textures) in MegaSplat and pressing a button. Then you can proceed to paint down more textures than a standard Unity terrain would allow. Since Terrain Composer outputs standard Unity terrains, you'd be able to convert it's output into MegaSplat format.
     
  43. ikefrc

    ikefrc

    Joined:
    Jul 3, 2012
    Posts:
    81
    That's something we would also be interested in, since something like a road needs hard edges.
     
  44. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I can certainly explore it and see how it looks; but I suspect something like a road is still done better with a mesh or decal system, since roads need very specific edges and texture alignment. That said, you could certainly paint gravel under the road to give it a better edge..
     
  45. JoelVDV

    JoelVDV

    Joined:
    Oct 26, 2013
    Posts:
    11
    Hi Jason, have you by any chance done some tests in VR (Vive, Oculus, etc.)? I'm interested in using megasplat, but before buying would like to know whether it firstly even works in VR, and secondly, what sort of performance it has.

    Features like refraction (in your fluid examples) would be where I imagine it more likely failing in VR.
     
  46. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I haven't done it myself, but I have a few customers using it for VR. It's really going to depend on how many/which features you turn on. I recently added some low-end modes, such as being able to replace all of the lighting with a texture lookup, or turn off normal maps (which still looks pretty good considering), which should allow it to go even faster if the results suits your visual style.

    Tessellation and Displacement are likely the two most expensive features. Using Triplanar texturing is likely the next most expensive since it means tripling the sample counts. Refractive Flow mapping is conditionally branched, so you should only pay the cost on areas that actually use it. Using terrains is slower than using meshes.

    All of that said, you can get MegaSplat to outperform many traditional terrain/splat mapping shaders. This is because it doesn't need to multi-pass a terrain, or sample every texture that might be in use; rather it has very consistent sample costs. Additionally, you can do things like bake out distance terrain and replace the whole system with a regular shader in the distance.
     
  47. JoelVDV

    JoelVDV

    Joined:
    Oct 26, 2013
    Posts:
    11
    Awesome thanks, I'll give it a go.
     
  48. JoelVDV

    JoelVDV

    Joined:
    Oct 26, 2013
    Posts:
    11
    Just to let you know, I've done some tests with HTC Vive. No performance measurement, but not noticeable lag in the demo scenes, even the tessellation + physics one. Also refraction works great, no issues there.
     
  49. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Great to hear, though I would wager you'll turn things down a bit once you fill that scene with other things (Assuming your GPU bound, that is).
     
  50. AltaVR

    AltaVR

    Joined:
    Oct 16, 2013
    Posts:
    8
    Hi Jbooth,

    Just bought your asset pack, and it's incredible stuff. But I'm seeing the normal map appear as color on all of the textures. I didn't mess with anything before I noticed these.
     

    Attached Files: