CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-gl

Creates a WebGL context without a window for headless rendering and server-side graphics

Overall
score

96%

Overview
Eval results
Files

rubric.jsonevals/scenario-10/

{
  "context": "This criteria evaluates the engineer's proficiency in using WebGL 2 sampler object APIs from the gl package. The focus is on correct usage of createSampler, bindSampler, samplerParameteri, and deleteSampler functions to manage texture sampling state independently from texture objects.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Sampler Creation",
      "description": "Uses gl.createSampler() to create sampler objects. Should be called before configuring any sampler parameters.",
      "max_score": 20
    },
    {
      "name": "Parameter Configuration",
      "description": "Uses gl.samplerParameteri() to configure sampler parameters including TEXTURE_MIN_FILTER, TEXTURE_MAG_FILTER, TEXTURE_WRAP_S, and TEXTURE_WRAP_T with appropriate constants.",
      "max_score": 25
    },
    {
      "name": "Sampler Binding",
      "description": "Uses gl.bindSampler() with correct texture unit index to bind sampler objects to texture units for rendering.",
      "max_score": 20
    },
    {
      "name": "Multiple Texture Units",
      "description": "Correctly manages samplers across multiple texture units, demonstrating understanding that different samplers can be bound to different units simultaneously.",
      "max_score": 15
    },
    {
      "name": "Sampler Deletion",
      "description": "Uses gl.deleteSampler() to properly release sampler resources when no longer needed.",
      "max_score": 10
    },
    {
      "name": "WebGL 2 Context",
      "description": "Creates WebGL 2 context using createContext() with createWebGL2Context: true option, as sampler objects are only available in WebGL 2.",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-gl

tile.json