x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

PDI->DrawMesh crash

Hi!

I'm new to this so I don't really know my way around to well. I'm trying to draw a custom mesh but when I, in the SceneProxy, call PDI->DrawMesh the game just crashes and the only thing in the VS output is

 Couldn't find Shader TBasePassVSFCachedVolumeIndirectLightingPolicy for Material Resource WorldGridMaterial!
         With VF=FWaterSurfaceVertexFactory, Platform=PCD3D_SM5 
         ShouldCache: Mat=1, VF=0, Shader=1 
         Material Usage = MSM_DefaultLit, BLEND_Opaque, SpecialEngine, TSNormal

And I have no clue what is causing it so if anyone knows what might be causing the issue then please help me out here. Here's the code where I render the mesh.

 FMeshBatch Mesh;
         FMeshBatchElement& BatchElement = Mesh.Elements[0];
         Mesh.bWireframe = bWireframe;
         Mesh.VertexFactory = &VertexFactory;
         Mesh.MaterialRenderProxy = MaterialProxy;
         Mesh.ReverseCulling = IsLocalToWorldDeterminantNegative();
         Mesh.Type = PT_TriangleList;
         Mesh.DepthPriorityGroup = SDPG_World;
 
         BatchElement.IndexBuffer = &IndexBuffer;
         BatchElement.PrimitiveUniformBuffer = CreatePrimitiveUniformBufferImmediate(GetLocalToWorld(), GetBounds(), GetLocalBounds(), true);
         BatchElement.FirstIndex = 0;
         BatchElement.NumPrimitives = IndexBuffer.Indices.Num() / 3;
         BatchElement.MinVertexIndex = 0;
         BatchElement.MaxVertexIndex = VertexBuffer.Vertices.Num() - 1;
         PDI->DrawMesh(Mesh);

Product Version: Not Selected
Tags:
more ▼

asked Oct 04 '14 at 10:41 AM in Rendering

avatar image

Halliom
33 7 11 13

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Whats your FWaterSurfaceVertexFactory function "ShouldCache" look like? Im asking this coz in the error output, it says "ShouldCache: Mat=1, VF=0, Shader=1". So the Material and the Shader but not the Vertex Factory should be cached. So I am thinking that your vertex factory is not being properly cached and so therefore its not getting properly added to the vertex factory shader library.

more ▼

answered Oct 04 '14 at 10:56 AM

avatar image

Ehamloptiran
1.5k 50 9 59

avatar image Halliom Oct 04 '14 at 01:20 PM

Thanks! I tried that and now it works! I guess I just set it to false because I wasn't quite sure of what it did.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question