https://linen.dev logo
Join Discord
Powered by
# ceramic
  • f

    fierce-tiger-85769

    12/16/2022, 8:36 PM
    Well in that case I can rest assured that it is fine.
  • p

    powerful-morning-89

    12/16/2022, 9:23 PM
    Last I checked the only "big company" using heaps is Shiro. And given that Heaps is their in-house engine, them using git versions doesn't mean much for stability :P
  • g

    gifted-whale-78169

    12/16/2022, 9:57 PM
    how can i get the type of a child after getting it through its id? im trying to do
    var txt = block.getChildWithId("text");
    but because
    getChildWithId
    returns a visual, i cant get the
    pointSize
    . how can i convert it from a visual to a text?
  • b

    billowy-waiter-28954

    12/16/2022, 10:43 PM
    Copy code
    haxe
    var txt:Text = cast block.getChildWithId("text");
  • g

    gifted-whale-78169

    12/16/2022, 10:44 PM
    forgot about casting 😅 thanks!
  • g

    gifted-whale-78169

    12/16/2022, 10:44 PM
    i have a working level almost done
  • g

    gifted-whale-78169

    12/16/2022, 10:45 PM
    i want it to use 1. events 2.custom classes 3. tweens 4. arcade physics 5. particles 6. spritesheets
  • g

    gifted-whale-78169

    12/16/2022, 10:45 PM
    got everything except for particles and spritesheets
  • b

    billowy-waiter-28954

    12/16/2022, 10:46 PM
    soon ™️
  • g

    gifted-whale-78169

    12/16/2022, 10:52 PM
    yea lol
  • r

    refined-laptop-39041

    12/17/2022, 3:24 AM
    is motion twin not big?
  • p

    powerful-morning-89

    12/17/2022, 6:24 AM
    If 7 people is "big", then yes.
  • e

    elegant-twilight-61392

    12/17/2022, 12:49 PM
    i did put "big company" in quotation marks for a reason
  • e

    elegant-twilight-61392

    12/17/2022, 12:50 PM
    i more meant how well known they are rather than literally how many people
  • p

    powerful-morning-89

    12/17/2022, 1:07 PM
    Thinking about it, there's 3 companies that use or have used Heaps: Motion Twin, Shiro and Evil Empire (another studio founded by ex-MT people that maintains Dead Cells). But Motion Twin doesn't use Heaps or Haxe anymore iirc. As for Evil Empire, they're looking for people with Unity experience, so while they use Heaps for Dead Cells, it seems they won't be using it for future projects.
  • p

    powerful-morning-89

    12/17/2022, 1:08 PM
    (Anyway, we're getting quite offtopic here)
  • b

    billowy-waiter-28954

    12/17/2022, 4:33 PM
    To give some perspective regarding Ceramic, the tech is probably perfectly capable of running a game like Dead Cells, but none of the recent games of Shiro as they are all 3D obviously
  • d

    dry-barista-24084

    12/17/2022, 6:37 PM
    Hey Jeremy, I made a PR for texture wrapping but there's still one large change on my mind that will require much deeper changes, mainly this: https://webgl2fundamentals.org/webgl/lessons/webgl-qna-how-to-draw-correctly-textured-trapezoid-polygons.html
  • d

    dry-barista-24084

    12/17/2022, 6:41 PM
    That would require changes when submitting UVs to the buffer to 3 components and currently 2 is hardcoded
  • b

    billowy-waiter-28954

    12/17/2022, 7:02 PM
    Hey, I saw the pull request, texture wrap seems to be a nice option to expose, although I will merge it only if we manage to add the equivalent unity implementation (which should not be too difficult as the option probably exists there)
  • b

    billowy-waiter-28954

    12/17/2022, 7:07 PM
    Regarding that second thing, that's tricky
  • b

    billowy-waiter-28954

    12/17/2022, 7:07 PM
    Ceramic allows to provide custom float attributes when rendering with a specific shader
  • b

    billowy-waiter-28954

    12/17/2022, 7:09 PM
    But it doesn't allow to provide a third uv value
  • b

    billowy-waiter-28954

    12/17/2022, 7:10 PM
    That's even trickier because the only way, in Unity, to send custom additional attribute data is to use more uv slots, so Ceramic needs that to work properly
  • b

    billowy-waiter-28954

    12/17/2022, 7:12 PM
    Without changing much Ceramic, I believe the trapezoid thing is still possible by using custom vertex + fragment shader and adding uv data as custom attributes
  • b

    billowy-waiter-28954

    12/17/2022, 7:15 PM
    Like, you can do this:
    Copy code
    haxe
                    assets.add(Shaders.TRAPEZOID, {
                        customAttributes: [
                            { size: 3, name: 'vertexTexCoordExtra' }
                        ]
                    });
  • b

    billowy-waiter-28954

    12/17/2022, 7:17 PM
    Then create
    ceramic.Mesh
    objects with
    mesh.vertices
    that have 3 more values for each vertex. Those values being the 3 uv explained in your article
  • b

    billowy-waiter-28954

    12/17/2022, 7:21 PM
    Then in your vertex shader, you add something like this (not tested at all, just giving pointers, probably broken and incomplete):
    Copy code
    glsl
    attribute vec3 vertexPosition;
    attribute vec2 vertexTCoord;
    attribute vec4 vertexColor;
    attribute vec3 vertexTexCoordExtra;
    
    varying vec2 tcoord;
    varying vec4 color;
    varying vec3 texCoordExtra;
    
    uniform mat4 projectionMatrix;
    uniform mat4 modelViewMatrix;
    
    void main(void) {
    
        gl_Position = projectionMatrix * modelViewMatrix * vec4(vertexPosition, 1.0);
        tcoord = vertexTCoord;
        color = vertexColor;
        texCoordExtra = vec3(vertexTexCoordExtra.xy, 1) * abs(vertexPosition.x);
        gl_PointSize = 1.0;
    
    }
  • b

    billowy-waiter-28954

    12/17/2022, 7:24 PM
    Well, here I'm mostly showing how to send custom per-vertex attributes, your feature probably needs other changes indeed
  • b

    billowy-waiter-28954

    12/17/2022, 7:25 PM
    I'm not against adding new features to the renderer, but extreme care must be taken to not break the existing and degrade performance
1...323334...124Latest