A non-exhaustive list of WebGL and WebGPU frameworks and libraries. It is mostly for learning purposes as some of the libraries listed are wip/outdated/not maintained anymore.
| Name | Stars | Last Commit | Description |
|---|---|---|---|
| three.js | ![GitHub |
| // | |
| // ContentView.swift | |
| // AnimationTimingCurve | |
| // | |
| // Created by Chris Eidhof on 25.09.19. | |
| // Copyright © 2019 Chris Eidhof. All rights reserved. | |
| // | |
| import SwiftUI |
| const callerMap = {}; | |
| function getCaller(error) { | |
| if (error && error.stack) { | |
| const lines = error.stack.split('\n'); | |
| if (lines.length > 2) { | |
| let match = lines[2].match(/at ([a-zA-Z\-_$.]+) (.*)/); | |
| if (match) { | |
| return { | |
| name: match[1].replace(/^Proxy\./, ''), |
| /* | |
| This script is meant to be used with a Google Sheets spreadsheet. When you edit a cell containing a | |
| valid CSS hexadecimal colour code (like #000 or #000000), the background colour will be changed to | |
| that colour and the font colour will be changed to the inverse colour for readability. | |
| To use this script in a Google Sheets spreadsheet: | |
| 1. go to Tools » Script Editor » Spreadsheet; | |
| 2. erase everything in the text editor; | |
| 3. change the title to "Set colour preview on edit"; |
| { | |
| "emojis": [ | |
| {"emoji": "👩👩👧👧", "name": "family: woman, woman, girl, girl", "shortname": ":woman_woman_girl_girl:", "unicode": "1F469 200D 1F469 200D 1F467 200D 1F467", "html": "👩‍👩‍👧‍👧", "category": "People & Body (family)", "order": ""}, | |
| {"emoji": "👩👩👧👦", "name": "family: woman, woman, girl, boy", "shortname": ":woman_woman_girl_boy:", "unicode": "1F469 200D 1F469 200D 1F467 200D 1F466", "html": "👩‍👩‍👧‍👦", "category": "People & Body (family)", "order": ""}, | |
| {"emoji": "👩👩👦👦", "name": "family: woman, woman, boy, boy", "shortname": ":woman_woman_boy_boy:", "unicode": "1F469 200D 1F469 200D 1F466 200D 1F466", "html": "👩‍👩‍👦‍👦", "category": "People & Body (family)", "order": ""}, | |
| {"emoji": "👨👩👧👧", "name": "family: man, woman, girl, girl", "shortname": ":man_woman_girl_girl:", "unicode": "1F468 200D 1F469 200D 1F467 200D 1F467", "html": "👨‍👩&z |
| using System.Collections; | |
| using System.Collections.Generic; | |
| using UnityEngine; | |
| public class DrawLine : MonoBehaviour | |
| { | |
| [SerializeField] | |
| protected LineRenderer m_LineRenderer; | |
| [SerializeField] |
| function withLinkAnalytics(mapPropsToData, WrappedComponent) { | |
| class LinkAnalyticsWrapper extends React.Component { | |
| componentDidMount() { | |
| ReactDOM.findDOMNode(this).addEventListener('click', this.onClick); | |
| } | |
| componentWillUnmount() { | |
| ReactDOM.findDOMNode(this).removeEventListener('click', this.onClick); | |
| } |
| // import this to check each of the component's PropTypes against | |
| import PropTypes from 'prop-types'; | |
| // helper method to determine whether a propType method is a particular PropType validator | |
| const isCorrectPropType = (method, propType) => | |
| method === PropTypes[propType] || method === PropTypes[propType].isRequired; | |
| // helper method to determine whether a prop is required or not - if it is required, | |
| // it'll be equal to the .isRequired method on the propType. | |
| const isPropTypeRequired = (method, propType) => method === PropTypes[propType].isRequired; |
| import hoistStatics from 'hoist-non-react-statics'; | |
| import React from 'react'; | |
| /** | |
| * Allows two animation frames to complete to allow other components to update | |
| * and re-render before mounting and rendering an expensive `WrappedComponent`. | |
| */ | |
| export default function deferComponentRender(WrappedComponent) { | |
| class DeferredRenderWrapper extends React.Component { | |
| constructor(props, context) { |
A non-exhaustive list of WebGL and WebGPU frameworks and libraries. It is mostly for learning purposes as some of the libraries listed are wip/outdated/not maintained anymore.
| Name | Stars | Last Commit | Description |
|---|---|---|---|
| three.js | ![GitHub |
| const Link = (props) => { | |
| let className = `link link--${props.theme}-theme`; | |
| if (!props.underline) className += ' link--no-underline'; | |
| return <a href={props.href} className={className}>{props.children}</a>; | |
| }; | |
| Link.propTypes = { | |
| theme: PropTypes.oneOf([ |