• Stars
    star
    122
  • Rank 292,031 (Top 6 %)
  • Language
    JavaScript
  • Created over 12 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Utilities for working with WebGL textures

webgl-texture-utils

Utilities for working with WebGL textures with an emphasis on loading compressed formats.

NOTE: This code is pretty old by now, and I don't intend to do further development on it. You may want to try using webgl-texture-util.js from my texture-tester project instead.

Usage

The quickest way to get up and running is to include texture-util.js from the build folder, which will add a TextureUtil object to the global scope. Once included, construct a TextureLoader by passing the desired WebGL context to it.

var textureLoader = new TextureUtil.TextureLoader(gl);

The texture loader can be used to easily load textures of many different formats with the load function.

var texture = textureLoader.load("path/to/texture.png", function(texture) {
    // Optional callback
});

Supported formats are those natively supported by the browser (JPG, PNG, BMP, GIF), TGA, DDS, and CRN (Crunch). Format is typically determined by the file extension on the path provided, but can be overridden by passing in an explicit type.

var texture = textureLoader.load("textureGenerator.php", callback, "DDS");

If you use require.js in your project you can use the un-minified source files directly. Copy the texture-util folder into your project and include "texture-util/loader".

Further documentation is forthcoming, sorry for the brevity!

Credits

Thank you to Rich Geldreich for developing the Crunch texture compression library and Evan Parker for porting it to Javscript via Emscripten

More Repositories

1

gl-matrix

Javascript Matrix and Vector library for High Performance WebGL apps
JavaScript
5,369
star
2

webgpu-best-practices

A series of docs detailing best practices for developing with WebGPU
HTML
337
star
3

webgl-quake3

WebGL Quake 3 level renderer
JavaScript
264
star
4

webgl-source

WebGL renderer for Source Engine levels
JavaScript
239
star
5

webgpu-clustered-shading

Personal experimental project to implement clustered shading with WebGPU.
JavaScript
182
star
6

game-shim

Browser shims to normalize game-centric API
JavaScript
129
star
7

webgl2-particles-2

Updated version of particles demo, WebGL 2 only.
JavaScript
124
star
8

semilive

A Sublime Text plugin for "Live" coding
Python
122
star
9

web-texture-tool

Texture loading utility for WebGL and WebGPU
JavaScript
119
star
10

building-the-game

Source for the series of blog posts "Building the Game" on Tojicode
JavaScript
114
star
11

webvr.info

Source code for the WebVR.info website
HTML
110
star
12

spookyball

WebGPU-powered, Halloween-themed breakout game
JavaScript
96
star
13

webgpu-metaballs

Metaballs rendered in WebGPU
JavaScript
74
star
14

texture-tester

Simple page for testing WebGL texture support
HTML
70
star
15

webgpu-test

Testing WebGPU
JavaScript
69
star
16

webgpu-gltf-case-study

A case study in effective WebGPU patterns for rendering glTF models
Ruby
61
star
17

xr-dinosaurs

Roar!
JavaScript
61
star
18

hello-triangle-webgpu

Well commented hello triangle example for WebGPU
HTML
61
star
19

one-triangle-web

Rendering one triangle, the WebGL/WebGPU way
HTML
58
star
20

wgsl-preprocessor

A simple, template literals-based preprocessor for WGSL shaders
JavaScript
55
star
21

js-struct

Utility to assist in parsing c-style structs from an ArrayBuffer
JavaScript
54
star
22

chrome-webvr-issues

Stub repository for tracking bugs related to Chrome's experimental WebVR support
53
star
23

burrow

Toy WebGPU Deferred Renderer
TypeScript
42
star
24

webgl-utils

Lightweight, standalone WebGL utilities
JavaScript
40
star
25

webgl-ios-rage

WebGL renderer for iOS Rage levels
JavaScript
40
star
26

webgpu-shadow-playground

Experimenting with Shadow techniques like Cascading Shadow Maps
JavaScript
40
star
27

webgl-samples

Random WebGL samples, typically demonstrating specific techniques
JavaScript
40
star
28

webgpu-bundle-culling

A WebGPU demonstration of using frustum culling with render bundles through indirect instanced draw calls.
JavaScript
34
star
29

webxr-particles

Variant of WebGL 2 particles demo tuned for WebXR
JavaScript
31
star
30

rosetta

Comparisons of shaders across multiple APIs
GLSL
22
star
31

shader-perf

Demonstration of asynchronous shader loading
HTML
20
star
32

webxr-scene-optimization

A brief overview of techniques for optimizing 3D scenes for WebXR
HTML
19
star
33

webgl2-crowd

Demonstrates animation "baking" using transform feedback.
JavaScript
18
star
34

xr-critter

Pet Me!
JavaScript
18
star
35

webgl-iframe

JavaScript
16
star
36

crocotile-webgl

Dirt simple WebGL loader/renderer for Crocotile 3D files
JavaScript
15
star
37

pristine-grid-webgpu

A WebGPU implementation of the "Pristine Grid" technique
JavaScript
13
star
38

H3

Hyperactive Hexagonal Havoc!
JavaScript
11
star
39

io-gallery

Simple WebVR gallery app for Google I/O 2017
JavaScript
9
star
40

sponza-optimized

A version of the Sponza glTF that's been optimized for file size and instancing
7
star
41

webxr-logo

A 3D variant of a proposed WebXR logo in Three.js (based on code by @cwilso)
HTML
7
star
42

NoRecruiterSoliciting

Please do not contact me with job opportunities. I am happy with my current position.
6
star
43

webgpu-external-test

Tests consuming external textures with WebGPU
JavaScript
5
star
44

webgpu-map-sync

Coding WebGPU atrocities in hopes that future generations won't have to.
JavaScript
5
star
45

xr-lighting

Test page for WebXR Lighting Estimation API
JavaScript
5
star
46

is-it-webgpu

A Chrome extension that informs you if a page is using WebGPU or not.
JavaScript
4
star
47

dinosaurs-static

Frozen in time for the benefit of Chrome testing
HTML
3
star
48

DartGB

A Gameboy emulator in Dart
Dart
3
star
49

positional-audio-test

A simple test for positional web audio
HTML
2
star
50

toji.dev

Personal "About Me" website.
JavaScript
2
star
51

chrome-gpu-blinkenlights

Makes a light blink. Not for you.
JavaScript
1
star