Pryme8

Members
  • Content count

    2,474
  • Joined

  • Last visited

  • Days Won

    29

Pryme8 last won the day on June 28

Pryme8 had the most liked content!

3 Followers

About Pryme8

  • Rank
    Master Ninja
  • Birthday 04/29/1986

Contact Methods

  • Website URL
    Pryme8.com

Profile Information

  • Gender
    Male
  • Location
    Eureka, CA
  • Interests
    Crushing it

Recent Profile Visitors

4,705 profile views
  1. Pryme8

    ShaderMaterial Questions

    If the shader does not have stuff like: #if NUM_BONE_INFLUENCERS > 0 uniform mat4 mBones[BonesPerMesh]; attribute vec4 matricesIndices; attribute vec4 matricesWeights; #if NUM_BONE_INFLUENCERS > 4 attribute vec4 matricesIndicesExtra; attribute vec4 matricesWeightsExtra; #endif #endif #ifdef INSTANCES attribute vec4 world0; attribute vec4 world1; attribute vec4 world2; attribute vec4 world3; #else uniform mat4 world; #endif vec4 p = vec4( position, 1. ); #ifdef INSTANCES mat4 finalWorld = mat4(world0, world1, world2, world3); #else mat4 finalWorld = world; #endif #if NUM_BONE_INFLUENCERS > 0 mat4 influence; influence = mBones[int(matricesIndices[0])] * matricesWeights[0]; #if NUM_BONE_INFLUENCERS > 1 influence += mBones[int(matricesIndices[1])] * matricesWeights[1]; #endif #if NUM_BONE_INFLUENCERS > 2 influence += mBones[int(matricesIndices[2])] * matricesWeights[2]; #endif #if NUM_BONE_INFLUENCERS > 3 influence += mBones[int(matricesIndices[3])] * matricesWeights[3]; #endif #if NUM_BONE_INFLUENCERS > 4 influence += mBones[int(matricesIndicesExtra[0])] * matricesWeightsExtra[0]; #endif #if NUM_BONE_INFLUENCERS > 5 influence += mBones[int(matricesIndicesExtra[1])] * matricesWeightsExtra[1]; #endif #if NUM_BONE_INFLUENCERS > 6 influence += mBones[int(matricesIndicesExtra[2])] * matricesWeightsExtra[2]; #endif #if NUM_BONE_INFLUENCERS > 7 influence += mBones[int(matricesIndicesExtra[3])] * matricesWeightsExtra[3]; #endif finalWorld = finalWorld * influence; #endif gl_Position = viewProjection * finalWorld * p; then it wont support instances, I am uber busy right this second maybe someone else can help you deploy instancing on the shader. Otherwise use clones for now. You could try to use include<instancesstuff> (they are different then that) in your shader string. take a look at the default material in the shaderstore and duplicate all things dealing with instances.
  2. Pryme8

    ShaderMaterial Questions

    Yes, if you do not have instance support on your shader. 1 second.
  3. Pryme8

    ShaderMaterial Questions

    https://www.babylonjs-playground.com/#2IFRKC#44 its working.
  4. You just want a custom uniform I got you. https://www.babylonjs-playground.com/#LRGH45 for some reason the added uniforms are non-accessible as far as I can tell. as demonstrated by: https://www.babylonjs-playground.com/#LRGH45#2 so what you need to do is bind the uniform to a varying on the vertex Shader and pass it that to the fragment. https://www.babylonjs-playground.com/#LRGH45#4 ❤️
  5. Pryme8

    ShaderMaterial Questions

    why thank you ^_^, there is a wordpress bug I'm trying to work out cause like half of my articles are missing, but yeah there is some stuff that might help give you some ideas.
  6. Pryme8

    ShaderMaterial Questions

    http://pryme8.com/procedural-investigations-in-webgl-introduction/ This might be a good read for you, especially the section 1 "Sampling Space and Manipulations"
  7. Pryme8

    ShaderMaterial Questions

    you are not binding the uniform. https://www.babylonjs-playground.com/#2IFRKC#40
  8. I'm pretty sure there is a setting somewhere we can adjust. Let me do some testing, and research I am almost sure I've fixed this in the past with Deltas help on one of my projects. I'm pretty sure this came up as well when I was doing ping-pong buffers for simulations where it would corrupt my simulations by setting a pixel to an alpha 0 cause inherently to turn black... its an interesting behavior but I think its there to save memory, cause why hold a bunch of byte data for something you wont see, I get it... its just F&*(@#$! annoying. Give me a little bit, I have a busy day and should prolly not even be on here right now but luckly I'm waiting on someone for a second so I had a moment.
  9. Pryme8

    ShaderMaterial Questions

    Everything is possible. take a look at: https://www.shadertoy.com/view/lscGDr
  10. Pryme8

    ShaderMaterial Questions

    They are not, almost everything you see is ran by a shader. effectively BJS is just displaying shaders to you even when just using standard methods. when you hear someone say ran on the GPU, they are talking about some glsl usually. They are as intensive as the number of passes and pxls they have to calculate.
  11. you can bind custom attribute buffers. Let me look up how to calculate barycentric stuff and Ill give example. https://en.wikipedia.org/wiki/Barycentric_coordinate_system oo ezpz https://www.babylonjs-playground.com/#1TDIAH#20 https://www.babylonjs-playground.com/#1TDIAH#21 aw I just saw: https://playground.babylonjs.com/#7ZPM3C#2 You are gonna wanna use a combination of both of our methods. (so you don't replace your normals)
  12. I swear it has to do with the transparent pxls being held as pure black with no alpha being mixed at the edges to the semi transparent ones.
  13. http://www.babylonjs-playground.com/#YDO1F#69 I'm really leaning tword that 0,0,0,0 mixing thing I was talking about being the culprit and it having to do something with the way we handle emissive textures and alphas.
  14. When I get some free time maybe, Im pretty busy this evening but if I get a second! Ive had to fix this before as well, it was just a long time ago. After some testing it seems related to the emissive not when you use an diffuse with alpha. but more tests are needed.
  15. Its on the BJS side then after looking at your export (its correct). Pretty sure its the mips or the aliasing. First test turn off mips on the textures when importing them and lets start there. It could be the alpha is getting premultiplied also.