Skip to content

Instantly share code, notes, and snippets.

@stwind
Last active February 10, 2024 12:10
Show Gist options
  • Save stwind/f816c15c610751883684805e6728eee6 to your computer and use it in GitHub Desktop.
Save stwind/f816c15c610751883684805e6728eee6 to your computer and use it in GitHub Desktop.
moderngl.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"collapsed_sections": [
"36FtGtG6-k9m",
"zd8mNfnr-I7_"
],
"authorship_tag": "ABX9TyMZbOCO+VDRTlCqCKfBqCp/",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/stwind/f816c15c610751883684805e6728eee6/moderngl.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"## Setup"
],
"metadata": {
"id": "d_GcnCoA-DGF"
}
},
{
"cell_type": "markdown",
"source": [
"### Dependencies"
],
"metadata": {
"id": "36FtGtG6-k9m"
}
},
{
"cell_type": "code",
"source": [
"!pip install --no-cache-dir -Uq matplotlib pillow scipy einops ffmpeg-python moderngl"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "mBUf1tQoAvll",
"outputId": "f958f6f1-accc-4495-f847-e8ee0e8d5640"
},
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.6/11.6 MB\u001b[0m \u001b[31m54.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.5/4.5 MB\u001b[0m \u001b[31m142.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m38.4/38.4 MB\u001b[0m \u001b[31m144.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m44.6/44.6 kB\u001b[0m \u001b[31m198.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m267.7/267.7 kB\u001b[0m \u001b[31m265.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m51.5/51.5 kB\u001b[0m \u001b[31m189.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25h\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
"lida 0.0.10 requires fastapi, which is not installed.\n",
"lida 0.0.10 requires kaleido, which is not installed.\n",
"lida 0.0.10 requires python-multipart, which is not installed.\n",
"lida 0.0.10 requires uvicorn, which is not installed.\n",
"imageio 2.31.6 requires pillow<10.1.0,>=8.3.2, but you have pillow 10.2.0 which is incompatible.\u001b[0m\u001b[31m\n",
"\u001b[0m"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"### Commons"
],
"metadata": {
"id": "zd8mNfnr-I7_"
}
},
{
"cell_type": "code",
"source": [
"%matplotlib inline\n",
"%config InlineBackend.figure_format = 'retina'\n",
"\n",
"import os\n",
"import math\n",
"import numpy as np\n",
"import matplotlib as mpl\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"import cv2\n",
"import PIL\n",
"import matplotlib.font_manager as fm\n",
"import locale\n",
"from fastprogress import progress_bar\n",
"from einops import rearrange, reduce, repeat, einsum\n",
"\n",
"locale.getpreferredencoding = lambda: \"UTF-8\"\n",
"\n",
"def mpl_theme(gray=\"969696\", stroke_width=0.3, fontsize=7, facecolor='1a1a1a'):\n",
" ## category20: https://github.com/d3/d3-3.x-api-reference/blob/master/Ordinal-Scales.md#category20\n",
" cat20 = mpl.cycler(color=[\"1f77b4\",\"ff7f0e\",\"2ca02c\",\"d62728\",\"9467bd\",\"8c564b\",\"e377c2\",\"7f7f7f\",\"bcbd22\",\"17becf\",\n",
" \"aec7e8\",\"ffbb78\",\"98df8a\",\"ff9896\",\"c5b0d5\",\"c49c94\",\"f7b6d2\",\"c7c7c7\", \"dbdb8d\", \"9edae5\"])\n",
" return {\n",
" \"font.size\": fontsize,\n",
" \"text.color\": gray,\n",
"\n",
" \"figure.dpi\": 100,\n",
" \"figure.facecolor\": facecolor,\n",
" \"figure.frameon\": False,\n",
" \"figure.figsize\": (5, 3),\n",
" \"figure.titlesize\": \"x-large\",\n",
" \"figure.titleweight\": \"bold\",\n",
" \"figure.constrained_layout.use\": True,\n",
" \"figure.constrained_layout.w_pad\": 0.05,\n",
" \"figure.constrained_layout.h_pad\": 0.05,\n",
" \"figure.constrained_layout.wspace\": 0.03,\n",
" \"figure.constrained_layout.hspace\": 0.03,\n",
"\n",
" \"axes.labelcolor\": gray,\n",
" \"axes.labelpad\": 8,\n",
" \"axes.labelsize\": \"large\",\n",
" \"axes.spines.left\": False,\n",
" \"axes.spines.bottom\": False,\n",
" \"axes.spines.top\": False,\n",
" \"axes.spines.right\": False,\n",
" \"axes.facecolor\": facecolor,\n",
" \"axes.edgecolor\": gray,\n",
" \"axes.linewidth\": stroke_width,\n",
" \"axes.axisbelow\": True,\n",
" \"axes.xmargin\": 0.02,\n",
" \"axes.ymargin\": 0.02,\n",
" \"axes.zmargin\": 0.02,\n",
" \"axes.prop_cycle\": cat20,\n",
" \"axes.titlepad\": 6,\n",
" \"axes.titlesize\": \"large\",\n",
" \"axes.titleweight\": \"semibold\",\n",
" \"axes.grid\": True,\n",
" \"axes.grid.axis\": \"both\",\n",
"\n",
" \"axes3d.grid\": False,\n",
"\n",
" \"ytick.right\": False,\n",
" \"ytick.color\": gray,\n",
" \"ytick.major.width\": stroke_width,\n",
" \"ytick.minor.left\": False,\n",
" \"xtick.minor.visible\": True,\n",
" \"xtick.minor.top\": False,\n",
" \"xtick.minor.bottom\": False,\n",
" \"xtick.color\": gray,\n",
" \"xtick.major.width\": stroke_width,\n",
"\n",
" \"grid.color\": gray,\n",
" \"grid.linewidth\": stroke_width,\n",
" \"grid.linestyle\": \"--\",\n",
" \"legend.fancybox\": False,\n",
" \"legend.edgecolor\": '0.3',\n",
" \"legend.framealpha\": 0.7,\n",
" \"legend.handletextpad\": 0.8,\n",
"\n",
" \"lines.linewidth\": 0.7\n",
" }\n",
"\n",
"def add_mpl_font(fname):\n",
" if fname not in [fe.fname for fe in fm.fontManager.ttflist]:\n",
" fm.fontManager.addfont(fname)\n",
"\n",
"def setup_overpass():\n",
" os.makedirs(\"fonts\", exist_ok=True)\n",
" for style in [\"Regular\", \"Italic\", \"SemiBold\", \"SemiBoldItalic\", \"Bold\", \"BoldItalic\"]:\n",
" ttf = f\"Overpass-{style}.ttf\"\n",
" !wget -qc \"https://github.com/RedHatOfficial/Overpass/raw/master/fonts/ttf/{ttf}\" -O \"fonts/{ttf}\"\n",
" add_mpl_font(f\"fonts/{ttf}\")\n",
" mpl.rcParams['font.sans-serif'].insert(0, \"Overpass\")\n",
"\n",
"setup_overpass()\n",
"\n",
"plt.style.use([\"dark_background\", mpl_theme()])"
],
"metadata": {
"id": "hSqPeoKO-MAF"
},
"execution_count": 1,
"outputs": []
},
{
"cell_type": "code",
"source": [
"import io\n",
"import ffmpeg\n",
"import requests\n",
"import subprocess\n",
"import IPython.display as ipd\n",
"from fastprogress import progress_bar\n",
"from einops import rearrange, reduce, repeat\n",
"from base64 import b64encode\n",
"\n",
"def to_single_rgb(img):\n",
" img = np.asarray(img)\n",
" if len(img.shape) == 4: # take first frame from animations\n",
" return img[0,:,:,:]\n",
" if len(img.shape) == 2: # convert gray to rgb\n",
" return img[:,:,np.newaxis].repeat(3, 2)\n",
" if img.shape[-1] == 4: # drop alpha\n",
" return img[:,:,:3]\n",
" else:\n",
" return img\n",
"\n",
"def imread(url, size=None, mode=None):\n",
" if url.startswith(('http:', 'https:')):\n",
" resp = requests.get(url)\n",
" if resp.status_code != 200:\n",
" return None\n",
"\n",
" f = io.BytesIO(resp.content)\n",
" else:\n",
" f = url\n",
" img = PIL.Image.open(f)\n",
" if size is not None:\n",
" img.thumbnail((size, size), PIL.Image.Resampling.LANCZOS)\n",
" if mode is not None:\n",
" img = img.convert(mode)\n",
" return img\n",
"\n",
"def imshow(img, fmt='png', retina=True, zoom=None):\n",
" if isinstance(img, str):\n",
" display(ipd.Image(filename=img, retina=retina))\n",
" return\n",
"\n",
" if len(img.shape) == 3 and img.shape[-1] == 1:\n",
" img = img.squeeze()\n",
" if img.dtype == np.float32:\n",
" img = img * 255.0\n",
" img = np.uint8(img.clip(0, 255))\n",
" if fmt in ('jpeg', 'jpg'):\n",
" img = to_single_rgb(img)\n",
"\n",
" image = PIL.Image.fromarray(img)\n",
" height, width = img.shape[:2]\n",
" if zoom is not None:\n",
" width *= zoom\n",
" height *= zoom\n",
" retina = zoom == 1\n",
" if zoom < 1:\n",
" image.resize((int(width), int(height)))\n",
"\n",
" data = io.BytesIO()\n",
" image.save(data, fmt)\n",
" display(ipd.Image(data=data.getvalue(),width=width, height=height,retina=retina))\n",
"\n",
"def ffprobe_video(path):\n",
" probe = ffmpeg.probe(path)\n",
" return next(s for s in probe['streams'] if s['codec_type'] == 'video')\n",
"\n",
"def read_frame(path, frame_no):\n",
" cap = cv2.VideoCapture(path)\n",
" cap.set(cv2.CAP_PROP_POS_FRAMES, frame_no)\n",
" ret, frame = cap.read()\n",
" if not ret:\n",
" raise RuntimeError(f\"Faild reading frame {frame_no} from {path}\")\n",
" return cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)\n",
"\n",
"def read_frames(path, start=0, num=None):\n",
" cap = cv2.VideoCapture(path)\n",
" n_frames = num or int(cap.get(cv2.CAP_PROP_FRAME_COUNT))\n",
" cap.set(cv2.CAP_PROP_POS_FRAMES, start)\n",
" for i in range(n_frames):\n",
" ret, frame = cap.read()\n",
" if not ret:\n",
" raise RuntimeError(f\"Faild reading frame {i} from {path}\")\n",
" yield cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)\n",
"\n",
"def read_video_frames(path):\n",
" info = ffprobe_video(path)\n",
" out, _ = ffmpeg.input(path).output('pipe:', format='rawvideo', pix_fmt='rgb24').run(capture_stdout=True)\n",
" return np.frombuffer(out, np.uint8).reshape([-1, info['height'], info['width'], 3])\n",
"\n",
"def show_video(path):\n",
" vcap = cv2.VideoCapture(path)\n",
" width = int(vcap.get(cv2.CAP_PROP_FRAME_WIDTH))\n",
" with open(path, \"r+b\") as f:\n",
" url = f\"data:video/mp4;base64,{b64encode(f.read()).decode()}\"\n",
" return ipd.HTML(f\"\"\"<video autoplay=\"autoplay\" width={width} controls loop><source src=\"{url}\"></video>\"\"\")\n",
"\n",
"def write_video(frames, size, path=\"__temp__.mp4\", fps=30, args=[]):\n",
" height, width = size\n",
" command = ['ffmpeg','-v','error','-f','rawvideo','-vcodec','rawvideo',\n",
" '-pix_fmt','rgb24','-s',f'{width}x{height}','-r', f'{fps}',\n",
" '-i', '-','-an', '-vcodec','h264','-pix_fmt','yuv420p', *args, '-y', path]\n",
" with subprocess.Popen(command, stdin=subprocess.PIPE, stderr=subprocess.PIPE) as proc:\n",
" with proc.stdin as stdin:\n",
" for image in frames:\n",
" data = image.tobytes()\n",
" if stdin.write(data) != len(data):\n",
" proc.wait()\n",
" stderr = proc.stderr\n",
" assert stderr is not None\n",
" s = stderr.read().decode()\n",
" raise RuntimeError(f\"Error writing '{path}': {s}\")\n",
" return path\n",
"\n",
"def read_video(path):\n",
" command = ['ffmpeg','-v','error','-nostdin','-i',path,'-vcodec','rawvideo',\n",
" '-f','image2pipe','-pix_fmt','rgb24','-vsync','vfr','-']\n",
"\n",
" info = ffprobe_video(path)\n",
" num_bytes = info['height'] * info['width'] * 3 * np.dtype(np.uint8).itemsize\n",
" with subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) as proc:\n",
" stdout = proc.stdout\n",
" assert stdout is not None\n",
" data = stdout.read(num_bytes)\n",
" while data is not None and len(data) == num_bytes:\n",
" image = np.frombuffer(data, dtype=np.uint8)\n",
" yield image.reshape(info['height'], info['width'], 3)\n",
" data = stdout.read(num_bytes)\n",
"\n",
"def norm(x, a, b):\n",
" return (x - a) / (b - a)\n",
"\n",
"def saturate(x):\n",
" return np.clip(x, 0, 1)\n",
"\n",
"def lerp(a, b, t):\n",
" return a * (1.0 - t) + b * t\n",
"\n",
"def step(v, x):\n",
" return np.where(x < v, 0, 1)\n",
"\n",
"def window(x, a, b):\n",
" return step(a, x) * step(x, b)\n",
"\n",
"def satnorm(x, a, b):\n",
" return saturate(norm(x, a, b))\n",
"\n",
"def smoothstep(x):\n",
" return x * x * (3 - 2 * x)\n",
"\n",
"def smootherstep(x):\n",
" return x * x * x * (x * (x * 6 - 15) + 10)\n",
"\n",
"def plt_show(pin=mpl.rcParams['savefig.pad_inches']):\n",
" with plt.rc_context({'savefig.pad_inches': pin}):\n",
" plt.show()\n",
"\n",
"def fig_image(fig=None):\n",
" fig = fig or plt.gcf()\n",
"\n",
" buf = io.BytesIO()\n",
" fig.savefig(buf, format=\"png\", pad_inches=0, facecolor=fig.get_facecolor())\n",
" buf.seek(0)\n",
" data = np.frombuffer(buf.getvalue(), dtype=np.uint8)\n",
" buf.close()\n",
" plt.close(fig)\n",
"\n",
" return cv2.cvtColor(cv2.imdecode(data, cv2.IMREAD_COLOR), cv2.COLOR_BGR2RGB)\n",
"\n",
"class Flex(object):\n",
" def __init__(self, ratios, gap, size=None):\n",
" n, s = len(ratios), sum(ratios)\n",
" self.ratios = ratios\n",
" self.gap = gap\n",
" space = gap * n / s if size is None else gap * n / (size - gap * (n - 1))\n",
" self.h = dict(nrows=1, ncols=n, width_ratios=ratios, wspace=space)\n",
" self.v = dict(nrows=n, ncols=1, height_ratios=ratios, hspace=space)\n",
" self.size = s + gap * (n - 1) if size is None else size\n",
"\n",
"def ax_frame(ax):\n",
" ax.spines[[\"left\",\"right\",\"bottom\",\"top\"]].set_visible(True)\n",
" ax.grid(False)\n",
" ax.set(xticks=[],yticks=[])\n",
"\n",
"def ax_frames(axs):\n",
" for ax in axs.flat: ax_frame(ax)"
],
"metadata": {
"id": "G4FpXfHM-PC5"
},
"execution_count": 2,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"## OpenGL"
],
"metadata": {
"id": "l2UBSI16-KQi"
}
},
{
"cell_type": "code",
"source": [
"import moderngl\n",
"\n",
"def sdiv(a, b, divide=\"ignore\", invalid=\"ignore\", nan=0, posinf=0, neginf=0, **kwargs):\n",
" with np.errstate(divide=divide, invalid=invalid, **kwargs):\n",
" return np.nan_to_num(a / b, nan=nan, posinf=posinf, neginf=neginf)\n",
"\n",
"def m44_perspective(fovy, aspect, near, far, dtype=\"f4\"):\n",
" f, nf = 1.0 / np.tan(fovy * .5), 1 / (near - far)\n",
"\n",
" return np.array([[f / aspect, 0, 0, 0],\n",
" [0, f, 0, 0],\n",
" [0, 0, (far + near) * nf, 2 * far * near * nf],\n",
" [0, 0, -1, 0]], dtype=dtype)\n",
"\n",
"def m44_orthogonal(l, r, b, t, n, f, dtype=\"f4\"):\n",
" lr, bt, nf = 1 / (l - r), 1 / (b - t), 1 / (n - f)\n",
" return np.array([[-2 * lr,0,0,0],[0,-2 * bt,0,0],[0,0,2 * nf,0],\n",
" [(l + r) * lr, (b + t) * bt, (n + f) * nf,1]], dtype=dtype)\n",
"\n",
"def normalize(x, **kwargs):\n",
" return sdiv(x, np.linalg.norm(x, **kwargs))\n",
"\n",
"def m44_look_at(eye, target, up, dtype=\"f4\"):\n",
" eye, target, up = np.asarray(eye), np.asarray(target), np.asarray(up)\n",
"\n",
" vd = normalize(target - eye)\n",
" side = normalize(np.cross(vd,up))\n",
" up = normalize(np.cross(side,vd))\n",
"\n",
" return np.array([[side[0], side[1], side[2], -side @ eye],\n",
" [up[0], up[1], up[2], -up @ eye],\n",
" [-vd[0], -vd[1], -vd[2], vd @ eye],\n",
" [0, 0, 0, 1]], dtype=dtype)\n",
"\n",
"def m44_scaling(scale):\n",
" return np.diagflat([scale[0], scale[1], scale[2], 1.0]).astype(\"f4\")\n",
"\n",
"def m44_rotation_x(theta, dtype=\"f4\"):\n",
" c, s = np.cos(theta), np.sin(theta)\n",
" return np.array([[1,0,0,0],[0,c,-s,0],[0,s,c,0],[0,0,0,1]],dtype=dtype)\n",
"\n",
"def m44_rotation_y(theta, dtype=\"f4\"):\n",
" c, s = np.cos(theta), np.sin(theta)\n",
" return np.array([[c,0,s,0],[0,1,0,0],[-s,0,c,0],[0,0,0,1]],dtype=dtype)\n",
"\n",
"def m44_rotation_z(theta, dtype=\"f4\"):\n",
" c, s = np.cos(theta), np.sin(theta)\n",
" return np.array([[c,-s,0,0],[s,c,0,0],[0,0,1,0],[0,0,0,1]],dtype=dtype)\n",
"\n",
"def m44_translation(vec, dtype=\"f4\"):\n",
" return np.array([[1,0,0,vec[0]],[0,1,0,vec[1]],[0,0,1,vec[2]],[0,0,0,1]], dtype=dtype)\n",
"\n",
"def gl_primitive(attribs):\n",
" dtype = [(k, f\"({v.shape[-1] if v.ndim > 1 else 1},){v.dtype.descr[0][1]}\")\n",
" for k, v in attribs.items()]\n",
" return np.column_stack(list(attribs.values())).ravel().view(dtype)\n",
"\n",
"def prim_gnomon(size=100):\n",
" position = np.array([[0,0,0],[size,0,0],\n",
" [0,0,0],[0,size,0],\n",
" [0,0,0],[0,0,size]],dtype=\"f4\")\n",
" color = np.array([[1,0,0],[1,0,0],[0,1,0],[0,1,0],[0,0,1],[0,0,1]],dtype=\"f4\")\n",
" return gl_primitive({\"position\": position, \"color\": color})\n",
"\n",
"def prim_triangle():\n",
" position = np.array([[-1,-1,0],[1,-1,0],[0,1,0]],dtype=\"f4\")\n",
" color = np.array([[1,0,0],[0,1,0],[0,0,1]],dtype=\"f4\")\n",
" return gl_primitive({\"position\": position, \"color\": color})\n",
"\n",
"def prim_quad(size=1):\n",
" position = np.array([[-size, size], [-size, -size], [size, size], [size, -size]], dtype=\"f4\")\n",
" texcoord = np.array([[0, 1], [0, 0], [1, 1], [1, 0]], dtype=\"f4\")\n",
" return gl_primitive({\"position\": position, \"texcoord\": texcoord})\n",
"\n",
"def uniform_mat(uniform, mat):\n",
" uniform.write(np.ascontiguousarray(mat.T))\n",
"\n",
"class GL(object):\n",
" def __init__(self, size, **kwargs):\n",
" self.size = size\n",
" ctx = self.ctx = moderngl.create_standalone_context(**kwargs)\n",
"\n",
" self.fbo_read = ctx.framebuffer(color_attachments=ctx.texture(size, 4))\n",
"\n",
" self.fbo = self.ctx.framebuffer(\n",
" color_attachments=ctx.texture(size, 4, samples=4),\n",
" depth_attachment=ctx.depth_renderbuffer(size, samples=4)\n",
" )\n",
" self.fbo.use()\n",
"\n",
" def use(self):\n",
" self.fbo.use()\n",
"\n",
" def read(self):\n",
" self.ctx.copy_framebuffer(self.fbo_read, self.fbo)\n",
" return np.flip(np.frombuffer(self.fbo_read.read(components=4),np.uint8).reshape((*self.size, -1)),0)"
],
"metadata": {
"id": "zUEeceB8BFiP"
},
"execution_count": 3,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"### Hello World"
],
"metadata": {
"id": "jYZgxua6-pu2"
}
},
{
"cell_type": "code",
"source": [
"gl = GL((256,256), backend='egl')\n",
"\n",
"program = gl.ctx.program(\"\"\"#version 330\n",
"in vec2 position;\n",
"in vec3 color;\n",
"\n",
"out vec3 v_color;\n",
"\n",
"void main() {\n",
" v_color = color;\n",
" gl_Position = vec4(position, 0.0, 1.0);\n",
"}\n",
"\"\"\",\"\"\"#version 330\n",
"out vec4 fragColor;\n",
"in vec3 v_color;\n",
"void main() {\n",
" fragColor = vec4(v_color, 1.0);\n",
"}\n",
"\"\"\")\n",
"\n",
"vao = gl.ctx.simple_vertex_array(\n",
" program,\n",
" gl.ctx.buffer(gl_primitive({\"position\": np.array([[-1,-1],[1,-1],[0,1]],dtype=\"f4\"),\n",
" \"color\": np.array([[1,0,0],[0,1,0],[0,0,1]],dtype=\"f4\")})),\n",
" 'position', 'color')"
],
"metadata": {
"id": "v2N-ZWiCovbO"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"gl.ctx.clear(.1, .1, .1, 1)\n",
"\n",
"vao.render(mode=moderngl.TRIANGLES)\n",
"\n",
"PIL.Image.fromarray(gl.read())"
],
"metadata": {
"id": "_c_E9NGfo36E",
"outputId": "b77724a6-7ec1-431e-beb7-65d9f1b08c7f",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 273
}
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<PIL.Image.Image image mode=RGBA size=256x256>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAcYklEQVR4Ae1dh58lxXF+eznN5biXc84ZBAgQIECAEAgQIEBkAQLEH2LlnHOWsSzLsizLWJZlWZZlLMuyrJwzSt0c3Ozdraunr97uzksTuqdD1f1+R+17b6an66vq7/u6d48dGh4eHm3xH5IIpOnx1kn4m8z5C5L5c9Kt1iQGgS4CQjxGN3nOPENgCuNAEwGl/iPpsVY6cqzVGmq1ktnsAih2AhMAxapDzk+LV8J/cfeHkSgYhNNmAiBYfKX8I+nR1tAQLHxQf/n0o9oFzHoVQTRop8wEQLD+TwtY8G31RwDYBSASlCITAKVqQ65K/U+NU3/lADIXcOKRDIlk1quzyP+hgQATAI06t7N8RqiF3kvte73fvp2/iAwBJoDICtovHaX8p9Ij7b0/qj9G+ezD2TeGkxmv6TcMfxYRAkwAERVzUCrPCFjgPdUf72YXgEhQiEwAFKoMOSr1P91H/cdcwCsyRJIZryWCDO00mQCI1P+kUAu7qLoXvY4IeBGnyQQQcXExNaX8p9PDPff+qP4YZfqQPguY9jocgmOkCDABRFrY8WmdFLCgC6s/3skuAJGIOTIBxFxdyE2p/5kS6j/mAh7UPx049fWRI0Q7PSaAyOs/ImAhl1Z/BIVdACIRa2QCiLWykJdS/jPpocJ7f1R/jHLkAe0CprwhYpRop8YEEHH9RwQs4Mrqj8CwC0AkYoxMADFWFXJS6j9aQ/3bLuDUy7ULmPzGSJGinRYTQKT1Py1g4dZWfwSHXQAiEVtkAoitopCPUv7R9GDlvT+qP0Z5+n7tAia9KUK0aKfEBBBh/U8LWLDG1B8BYheASMQUmQBiqibkotS/ZVD92y7gzH3aBQy9OTLEaKfDBBBZ/UcFLFTj6o8gsQtAJGKJTACxVFLlAcrfSg8Y2/uj+mOUo/dqF9B6S0yokc6FCSCi8o8KWKDW1B+BYheASMQQmQBiqKLKQe37Qf1bZ/9Pv6japqNs3aNdwOhbY0GOdB5MAJGUf0jcA9rflDo39ZxIiuNxGkwAHhen6NSU8g+l+62rP7oJOXS3dgFn3lZ0inydpwgwAXhamDLTGhKwIBtTf5wZuwBEIuTIBBBy9WDuSv0ngfqPWt77o/pjlEN3aRdw+u2BI0h7+kwAgdd/soCF2Lj6I2jsAhCJUCMTQKiVg3kr5Z+U7mtc/dsuYNKd2gWcekfAKNKeOhNAwPWfLGABOlN/BI5dACIRYmQCCLFqMGel/pMdqn/bBUx5mXYBI+8MFEna02YCCLT+UwUsPOfqj+CxC0AkQotMAKFVDOarlH9yutfZ3h/VH6Oceod2Aem7AkST9pSZAAKs/1QBC84b9UcA2QUgEiFFJoCQqgVzVeo/xSP1b7uAabdnSCbpuwNDlPZ0mQACq/90oRaar2rr67wCK3KD02UCaBDsuo9Syj8l3ePN3h/VH6OccZv+nYLPvqduqnx/QwgwATQEtInHTBewwLxVf8yQXQAiEUJkAgihSjBHpf5TPVb/MRfw0gzR5Nn3BoIs7WkyAQRS/5lCLaxQ1DWUeQZSfIvTZAKwCK6poZXyT013e7v3R/XHKGfdqs8CTrzPFAQ8jiUEmAAsAWty2JkCFlQw6o+ZswtAJHyOTAA+VwfmptR/WkDqP+YCbsmQTU6833OEaU+PCcDz+s8WaiGFqqahztvzpjA4PSYAg2CaHkop/7R0VzB7f1R/jHLOzfosQH7ANDQ8niEEmAAMAWljmNkCFlCw6o+IsAtAJHyMTAA+VgXmpNR/esDqP+YCXqL/paD4oKdI054WE4Cn9U8ELJzg1R/BZReASPgWmQB8qwjMRyn/9HRnsHt/VH+MMrlJu4A/f8hDtGlPiQnAw/onAhZMNOqPALMLQCR8ikwAPlUD5qLUf0ZE6t92AXNv1C7gTx/2DHHa02EC8Kz+8wQslOjUH0FmF4BI+BKZAHypBMxDKf+MdEc0e39Uf4xy3g3aBfzxIx6hTnsqTAAe1X+egAUSrfoj0OwCEAkfIhOAD1WAOSj1nxmx+rddwPwXaxfwh496gjztaTABeFL/BQIWRvTqj2CzC0AkXEcmANcVgOcr5Z+Zbo9274/qj1EuuF67gN9/zAP0aU+BCcCD+i8QsCDIqD8Czi4AkXAZmQBcog/PVuo/i5D6t13Awuu0C3jq444rQPvxTACO679IwEIgp/4IOrsARMJVZAJwhTw8Vyn/rHQbmb0/qj9GuehFgMJoK3nqkw6rQPvRTAAO679I6AXgcAruHz3kfgqUZ8AE4Kj649V/SC0Cin8hbbno2qwCye/YBbhoRSYAF6jDM5eIa2HN6z0w2Z1wm/TIIuCo+8YeywQwhkVjX6l9/6x064S9PzkXMA5tufiF8ArOAn77+Lh3+csmEGACaALl3DOWihe21R8/IqeBbfUHBPBrBINjYwgwATQGtX7QbFD/2Tn1xwVAxgV0wVwuuSZ7N/nN410+5bdsIcAEYAvZHuMuE1d3qD9eSsYFoOJ3RDIIYMmdRyaABkswB5S/l/qTcQF98JZLr4ZP4Szg15/qcxV/ZBIBJgCTaA4Yq5/6463Ra2CH6kPm+fcQDI7WEWACsA6xfoBS/znplgkn/x2Nf3YhRHsWUABrueyq7KrkV+wCCsBV+xImgNoQFhtghbiq594/P0K0LiCv9D1fR4tAvtTOXzMBNFACpfxz0s2F1B9dQXQuoATOcvkL4Go4C/jlp0vcxZdWQYAJoApqJe8ZFi8orP44dHQa2FPtIeNenyEYHK0hwARgDVo9cALqn5RUf1wQ0biAChjLFVdmdyW/YBdQAb7CtzABFIaq2oUrxRWl1R+fFI0L6KXwA9+PBgEsqXeRCcBiSeaC8ldV/2hcQA185fAVcDecBfz8MzVG4Vv7IcAE0A+dmp/VUX98dPAaOFDlIdNB1yAYHI0jwARgHFI9oFL/uemmUif/vRZCsGcBBrCVKy/PRkl+xi7AAJwdQzABdEBi5o3V4vLKe//8DIJ1AYOUvfDnwSKQL6V3r5kALJREKf/cdKMR9UdXEJwLMIirXPV8GA3OAn76WYOj8lAKASYAC32wRjzfmPrj9ILTwMLqDhkWvRbB4GgMASYAY1DqgeaB+s8zrP64QIJxAYYxVcPJ1ZdloyY/YRdgEl4mAJNowlhrxaXG1R+nGIwLKKropa8LBgEsmfeRCcBgieaD8ttS/2BcgEE880PJNZfCW3AW8OPP5T/i1xURYAKoCFy322yqPz7Pew0sreqQWdl7EAyOtRFgAqgNoR5Aqf/8dIPRk/9eC8PbswBDWPYbRq69JPs4+RG7gH44Ff2MCaAoUgOuWy8usbb3zz/aWxdQVskrX+8tAvlSef+aCcBAiZTyz0/XN6L+6Aq8cwEGcCw6hFz3PLgUzgJ++Pmit/B1PRBgAugBTJm3N4jnNab+OC/vNLCymkNGVe9FMDhWRoAJoDJ0+sYFoP4LGlZ/XDDeuICaGFa5Xa6/OLst+QG7gCr44T1MAIhExbhRXNS4+uNUvXEBVRW89n3eIIAlCS4yAdQo2UJQflfq740LqIFf3VvlhotgCDgL+P4X6g5F9n4mgBqld6n+OG3nGlhbxSGTumMgGBxLI8AEUBoyfYNS/4XpukZP/nstFGdnARWxM3mb3HhhNlzyPXYBVXBlAqiCGtyzWVzobO+fn7IzF1BXuY3d7wyBfCmCe80EUKFkSvkXpmu9UH90BY27gAq42bpFbnouDA1nAd99wtYjoh2XCaBCabeI53qj/jj9xjXQmHpDBqbGQjA4FkaACaAwVPrCRaD+izxTf1xAjbmAkpg1cbncfEH2mOQ7TzTxuGiewQRQspRbxfneqT+m0JgLMKXYpseBbQD/KYcAE0AJvBaD8vuq/o25gBJ4NX2p3Ho+bCfgLOD/vtj0o4N9HhNAidL5rP6YhnUNNK3aNsZDMDgORIAJYCBE+gKl/ovTNV6d/KPq56O1s4CCWLm8TG49L3t88m12AUXqwARQBCW4Zrs4z9u9fz4Fay7AhlrbGJPPAvIt0fM1E0BPaMY+UMq/OF0dhPqjGzDuAsbg8P4ruf05+izgf7/k/VxdT5AJoEAFdojnBKP+mI5xF2BDqW2PiWBw7IkAE0BPaPQHS0D9lwSm/sZdwACMfPxYbj83m1byLXYB/erDBNAPHfhspzgnOPXHlIy5ANtKbWt8PgvAVugZmQB6QtNqLQXlD1X9jbmAPvj4/pHceY4+C/ifL/s+VWfzYwLoA33I6o9p1XYBttS5yXERDI4dCDABdECi31DqvzRdFdTJP6p+Plb+jkAPbEJ6W+48nk03+Sa7gG51YwLohgq8t1scD3bvn0+psgtoUqVtPovPAvIt0X7NBNCGYuwLpfxL05VRqD+6gdIuYAyO4L+Su4/ps4D//krwuZhOgAmgC6J7xLFo1B/TK+0CbCqyq7ERDI5tBJgA2lDoL5aB+i+LTP1Lu4AcJjG8lLuPZmkk32AXML6eTADj0YCv94oj0ak/pljYBbhSaNvP5bMAbIV2ZAJoQ9FqLQflj1X9C7uAcXjE9qXce0SfBfzXV2NLrXI+TADjoItZ/THNgS7Atgr7MD6CwbHFBHC2CZT6L0+Hozr5R9XPx57fESCwIOTew1mWyZPsAhQQTABnm36/OBzt3v9siu3Q0wX4oM5NzIHPAtq9wAQAUCjlX56uIKH+6AY6XEC7JeL/Qu4/pM8C/vNr8Sc7IEMmAADogDhERv2xHzpcQBPK69szEAzCkTwBrAD1X0FM/TtcAMEFIPcfzLJOvk7bBZAngIPiADn1x/XedgG+KXNT8+GzANqHgMOg/FTVv+0CkA0IRnnwgD4L+I+vE8xep0zaAVBWf+z40abU1ufnIBgEI1kCUOo/nC4ndfKPqt+OZxterU2qf+TB/VnqyddougCyBHBY7Ce7928v9rOqTN4FED4LIEkASvmH02Ws/m0mgK3wuK+pfSkP79NnAf/+JLXUaR4CHhH7WP3Pqj9uB8i7AKIMSM4BrAT1X8nq31XpiK6BDAt5eG8Wk68+2RWbWN8kRwBHxR5W/5z6swuA5Z2xX/snI2Jd7x15kSKAVaD8rP4dPTDhDdIu4OgefRbwb9+YgEnML0gRAKs/tHIP9cf3+Swg5uXemRsZAlDqvypdyif/nT3Q8Q5tF7A7wyP5Cg0XQIYAjovdIHL09ngTVvcA9WcXAGhl7EenT0gQgFL+VekSVv8JbND/BWkXcHyXPgv412/2BymCT0kQwDliF6t/QfVnFwCrGrGKYIEPSiF6AlgN6r+a1X9QH3T9nLYL2Jlhknw5bhcQPQGcK3aw+qOilYzkvyNA4MwoagJYA8rP6t9V3Au/SdoFnLtDnwX8y7cK4xXahVETAKs/tGNJ1c9fT94FRM6A0RKAUv816WI++TcgSZGvgb4IyXO3Z58nX4rTBURLAOeJ7bz3r6n+6AbIu4CIzwKiJACl/GvSRaz+fbWt3IekXcB52/RZwD9/uxxoAVwdJQGcL7ax+htSf3YBsIoRywAWdNkpRkcAa0H917L6l+2DQtfTdgFbM4ySL8blAqIjgAvEFlZ/VCzDkc8C4vs3AlERwDpQflb/QmJe+SLSLuCCLfos4J++Uxk/326MigBY/aG9DKt+fjzyLiAyBoyGAJT6r0sX8sl/AxIT2RoohZi8YHN2ffJEHC4gGgK4UGzmvb9l9Uc3QN4FRPRzAVEQgFL+dekCVv9SWlbvYtIu4MJN2VYr+cfv1gPRg7ujIICLxCZW/4bUn10ArNoM6zi+IxA8AawH9V/P6u9ES2i7gI0Z5skXvucEe1MPDZ4ALhYbWP0bVn92AbD8MvYL3wUETQAbQPlZ/U1pQbVxSLuAizfos4B/+H418Dy4K2gCYPWHDnKk/vhc8t8RGArbBQRLAEr9N6Tz+eTfAxWh7QLWZxVIPv8DDypRfgrBEsAlYj2IUNjsW75cuTscqz+7AKhHxn7h9mGQBKCUf0M6j9U/xwcuX5J2AZes02cBf/9DlyWo9OwgCeBSsY7V3xP1ZxcA6y6rRZguIDgC2Ajqv5HVvxLb276JtgtYm8GbfO5HtmE2On5wBHCZWMPq75n6swuANZmxX3guICgC2ATKz+pvVACMD0baBVy2Rp8F/N2PjeNqa8CgCIDVH9rAU/XHefHPBYTlAoIhAKX+m9K5fPJvSwoMjkvbBazOkEw++xODiNobKhgCuFysBpEJi12Nl81z9WcXABXP2C+cPg2CAJTyb0oTVn/jjGJvQNIu4PJV+izgb39qD2BDIwdBAFeIVaz+gag/uwBYmVmtwnAB3hPAZlD/zaz+hvi+2WFou4CVGdjJZ37WLOgln+Y9AVwphln9A1N/dgGwCjP2898FeE0AW0D5Wf1LUrpnl5N2AVcO67OAv/m5Z1UZm47XBMDqD4UKVP1x3vxzAX67AG8JQKn/lnQOn/yPkXWwX9F2ASuyuiWf/oWX9fOWAK4SK0BE/GZP6xUNXP3ZBUCHZOznbx97SQBK+beks1n9rTNMcw8g7QKuWq7PAv76l80BXvBJXhLA1WI5q38k6s8uAFZiVks/XYB3BLAV1H8rq39B/g7rMtouYFlWrORTv/KqaN4RwDViGat/ZOrPLgDWfMZ+/rkArwhgGyj/1nQW7/290gizkyHtAq5Zqs8C/urXZkGtMZpXBHCNWMrqH6n6swuAVZrV1i8X4A0BKPXfxupfg8vDuZW2C1iSFSp5/DdeFMwbArhWLGH1j1z92QXAms/Yzx8X4AUBKOXfls7kvb8XmtDMJEi7gGsX67OAv/xtM2D3eYoXBPAisZjVn4j6swuA1ZjV2g8X4JwAtoP6b2f178PR8X5E2wUsygqbfPJ3TgvsnACuE4tY/YmpP7sAWPMZ+7l3AU4JYAco//Z0Bu/9nWqA24eTdgHXLdRnAZ94ylkRnBLAdQIAgH/xR7kJUA2pRtL/v4Bs2bt1Ac4IQKn/jrPqT7YJnPG+Xw8mKwCQuLx+gXYBH/+9k6I4I4DrBSQ+7t/7k2wClTT/hS0gQRwmLHd3LsAJASjl35lOn7D3J9cEExqAX5ATgHGkJ188X7uAj/2h8UZwQgA3CEh4nPpj1qSaYFwDsAuAbqCEBzb8hOjGBTROADu7qD8uADJNMKHw/AIRICMAXchO3jBPu4CP/hHhaCQ2TgA3CEi0i/pjtiSaoEsDIAlSjiQEABu9a2zeBTRKALtg378rnTZh759v+OiboGvh+U1EIHoB6EP+8sa52gV85E8Ih/XYKAHcKCDBPuqP2UbdBH0aIE+GFF9HLQDY4H1jsy6gMQIoov7Y8NE2Qd/C84eIQLQCUID85U2JdgEf/jPCYTU2RgA3CUisgPpjtlE2QYEGQBKkHKMUAGzsQrE5F9AIAah9/+50at+9f77ho2uCQoXnixCB6ASgBPnLl8zRLuBDAuGwFhshgJsFJFRC/THbqJqgRAPkyZDi66gEABu6VGzGBVgngN0V1B8bPpomKFV4vhgRiEYAKpC/vHm2dgEflAiHlWidAG4WkEgF9cdso2iCCg2AJEg5RiEA2MiVon0XYJUA9sC+f086pdTeP9/wwTdBpcLzTYhA8AJQg/zlLbPABYy2kg+cQDiMR6sEcIuABGqoP2YbdBPUaIA8GVJ8HbQAYAN7HK0RgAn1x4YPtgk8LnxIUwtWAAyQv7x1pj4LeL8dF2CNAG4VMHED6o+NGmQTGGgAJEHKMUgBwMY1Eu2dBVghALXv35tOrrX3zzd8cE1gpPA8CCIQnAAYJH/50hn6LOB9zyIcxqIVArhNwIQNqj9mG1QTGGyAPBlSfB2UAGDDBhCNE8BeC+qPDR9MEwRQ+BCnGIwAWCB/edt0fRbwXrMuwDgB3CamQW/Z27ME0QQWGgBJkHIMQgCsMqv5dWWUAPbBvl/9HYXvXdpqVO+bwGoD8ODeC4BF8pe3g7iqnwt4T2qsEYwSwO2W1R+z9roJLDaALVINaVyvBQAbNKBojAC0+k+yqv7YqN42QUCFD3mq3gpAA+Qv75iqzwLebcYFGCOAOwRMzOLeP9+wXjZBAw2AJEg5eikA+Qa1+trcWYARAtiXTmrtT4caUX9sfO+awGrBefA8At4JQIPkL18Gyxael7xrJA9L6ddGCOBOoYYxx0pFs/CqCRpsACRBytErASjasEavM7PeahPAfgfqj43vTRMYLSwPVhQBbwTAAfnLOydrF/DOU0Xh6npdbQK4U8BEHKg/ZuNFEzhoACRBytELAcBGdBLru4BaBHAA9v0H4DDS5vf9BzW48yZwUnh+KCLgXAAckr+8a5J2Ae84jXCUjrUI4C4BE3Co/pit0yZw2ACDyJHC504FABvQaaznAioTgA/qjw3urAmcFp4fjgg4EwAPyF/eDZMYmtRK3n4G4SgVKxPA3UJlX499Ss10wMVOmsCDBkASpBydCMCAfmz24+rrsBIBqH3/wXQU9v6Qpid/G59LsxXmpw1AoHEB8KTv1fqT96h1ONRK3laeCCoRwL3Z7yso/7ABNaz9caNN4FED+ELCLufRqADU7lR/BihNAAc9VH9svMaawJ/68UzGIdCYAHhI/vJeAEK5gLeOA6TAl6UJ4F6hlN8/9cdcG2kCDxsASZBybEQAsNG8jeVWQCkCOAT7/kPpGa/2/vmGt94E3haeJ6YQKNf+FTDzmPzlfSDM6jsCbymOQikCuE+obzX4q/5YzuLp4x0loscNkCdDiq+tCkCJNnF3qVqfxVdAYQIIQf2x4a01gbuq8pNLIFC8/UsMqi4NgPzl/fBTgTDP5M3qh/QG/ylMAPcL9eOG/qs/pmylCQJogBCa1PYcrQgANlYQsfg6LUQAat9/OD3t9d4/31TGmyCIwvMkEQHjAhAQ+cuXw78QhPkmb1L/UK//n0IE8IBQ/+SwOKv0f2RznxptgoAaIE+GFF8bFYDmWtbgk4qt14EEcDhA9ceGN9YEBsvCQzWHgDEBCJD85QPwfwuCeSdv7L/E+38KtXpAwE/+BKj+2GZGmiDABkASpByNCAA2UpBxsAvoSwBHYN+v/hoB0tEiqj33IAvPk0YEaguAo741QdzyQRBvmH/yBvU/7O3+py8BPBi4+mPKtZog4AYw0UShj1FLALCBgo79XUBPAtDqfypo9cfmrdwEQReeJ48IVBaACMhfPnRSu4DXq1/Z1/mnJwE8JODGgPf++VQrNUEEDYAkSDlWEoB8AwX9urcL6EoAR9JTraPpSBTqj41fugmCLjhPPo9AaQGIiPzlK+A3CqvfKfi6GXlYWl0J4GGhfgVxb9boGCWQN0o1QUQNgCRIOZYSgED62cQ0OwjgaITqj41fuAlMIMtjeIdAYQGIkPzlw8/os4DXTnQBHQTwsIALI1R/7MZCTRBhAyAJUo6FBAAbJcrY6eonEMAx2PcfS9Oo9v75hh/YBFEWnpNCBAYKQMTkLx85oc8CXjML4Zh4BvCIgAsiVn/Mum8TRNwAeTKk+LqvAGCDEIptB0BB/bHhezYBocJTTrWnABAgf/no0/os4NXaBbQJ4FEBHxBQf2z8rk1AoAGQBCnHrgKAjUEijp0FZASg9v3H05NR7/3zDd/RBCQKz0kiAh0CQIj85SuldgGvmq3PAB4T8AYh9e/aBIQaIE+GFF9PEABsCFJRu4ApxwmqPzZ8uwlIFZ6TRQTaLoAg+cvH4Lf7QN5THhPq1/yM7QkQHCoxawKCDYAkSDlmAkCl0bvmOdr6f/MYPorxN/+HAAAAAElFTkSuQmCC\n"
},
"metadata": {},
"execution_count": 5
}
]
},
{
"cell_type": "markdown",
"source": [
"### Camera"
],
"metadata": {
"id": "lusrv-O8Anpy"
}
},
{
"cell_type": "code",
"source": [
"gl = GL((256,256), backend='egl')\n",
"\n",
"program = gl.ctx.program('''\n",
"#version 330\n",
"uniform mat4 u_mvp;\n",
"\n",
"in vec3 position;\n",
"in vec3 color;\n",
"\n",
"out vec3 v_color;\n",
"\n",
"void main() {\n",
" v_color = color;\n",
" gl_Position = u_mvp * vec4(position, 1.0);\n",
"}''', '''\n",
"#version 330\n",
"out vec4 fragColor;\n",
"\n",
"in vec3 v_color;\n",
"\n",
"void main() {\n",
" fragColor = vec4(v_color, 1.0);\n",
"}''')\n",
"\n",
"triangle = gl.ctx.simple_vertex_array(program, gl.ctx.buffer(prim_triangle()), 'position', 'color')\n",
"gnomon = gl.ctx.simple_vertex_array(program, gl.ctx.buffer(prim_gnomon()), 'position', 'color')"
],
"metadata": {
"id": "nzhqiWi_pJcq"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"view = m44_look_at([3,2,5],[0,0,0],[0,1,0])\n",
"proj = m44_perspective(np.radians(45),1,.01, 100)\n",
"uniform_mat(program[\"u_mvp\"], proj @ view)"
],
"metadata": {
"id": "sHi1_YZKpQHK"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"gl.ctx.clear(.1, .1, .1, 1)\n",
"gl.ctx.enable(moderngl.DEPTH_TEST)\n",
"\n",
"gnomon.render(mode=moderngl.LINES)\n",
"triangle.render(mode=moderngl.TRIANGLES)\n",
"\n",
"PIL.Image.fromarray(gl.read())"
],
"metadata": {
"id": "Gd_FBKhApUkW",
"outputId": "f3e1775f-54e9-4b22-dd59-7df0b77b422d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 273
}
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<PIL.Image.Image image mode=RGBA size=256x256>"
],
"image/png": "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\n"
},
"metadata": {},
"execution_count": 8
}
]
},
{
"cell_type": "markdown",
"source": [
"### Gradient"
],
"metadata": {
"id": "kJF3jb3abO-l"
}
},
{
"cell_type": "code",
"source": [
"gl = GL((256,256), backend='egl')\n",
"\n",
"program = gl.ctx.program('''\n",
"#version 330\n",
"\n",
"in vec2 position;\n",
"in vec2 texcoord;\n",
"\n",
"out vec2 v_texcoord;\n",
"\n",
"void main() {\n",
" v_texcoord = texcoord;\n",
" gl_Position = vec4(position, 0., 1.);\n",
"}''', '''\n",
"#version 330\n",
"out vec4 fragColor;\n",
"\n",
"in vec2 v_texcoord;\n",
"\n",
"void main() {\n",
" fragColor = vec4(v_texcoord, 1., 1.);\n",
"}''')\n",
"\n",
"quad = gl.ctx.simple_vertex_array(program, gl.ctx.buffer(prim_quad()), 'position', 'texcoord')"
],
"metadata": {
"id": "_kssjDNWphxA"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"gl.ctx.clear(.1, .1, .1, 1)\n",
"gl.ctx.enable(moderngl.DEPTH_TEST)\n",
"\n",
"quad.render(mode=moderngl.TRIANGLE_STRIP)\n",
"\n",
"PIL.Image.fromarray(gl.read())"
],
"metadata": {
"id": "z4MM9l35pf_M",
"outputId": "d234898d-30ef-492f-a140-81215c7cf0ef",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 273
}
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<PIL.Image.Image image mode=RGBA size=256x256>"
],
"image/png": "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\n"
},
"metadata": {},
"execution_count": 10
}
]
},
{
"cell_type": "markdown",
"source": [
"### Texture"
],
"metadata": {
"id": "LMtcpI2te2cC"
}
},
{
"cell_type": "code",
"source": [
"!wget -qc --show-progress http://www.rit-mcsl.org//Mellon/SpectralImageDatabase/sRGB/C_Palette_Exp_sRGB.tif"
],
"metadata": {
"id": "wgFgVhT5dvvJ",
"outputId": "5153b948-833c-4c8b-e433-ab30f5531402",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"C_Palette_Exp_sRGB. 100%[===================>] 357.37K 636KB/s in 0.6s \n"
]
}
]
},
{
"cell_type": "code",
"source": [
"gl = GL((256,256), backend='egl')\n",
"\n",
"image = np.array(PIL.Image.open(\"C_Palette_Exp_sRGB.tif\").transpose(PIL.Image.FLIP_TOP_BOTTOM))\n",
"texture = gl.ctx.texture((image.shape[1],image.shape[0]), 3, data=image)\n",
"\n",
"program = gl.ctx.program('''\n",
"#version 330\n",
"\n",
"uniform mat4 u_model;\n",
"\n",
"in vec2 position;\n",
"in vec2 texcoord;\n",
"\n",
"out vec2 v_texcoord;\n",
"\n",
"void main() {\n",
" v_texcoord = texcoord;\n",
" gl_Position = u_model * vec4(position, 0., 1.);\n",
"}''', '''\n",
"#version 330\n",
"\n",
"uniform sampler2D u_tex;\n",
"\n",
"out vec4 fragColor;\n",
"\n",
"in vec2 v_texcoord;\n",
"\n",
"void main() {\n",
" vec3 color = texture(u_tex, v_texcoord).rgb;\n",
" fragColor = vec4(color, 1.);\n",
"}''')\n",
"\n",
"quad = gl.ctx.simple_vertex_array(program, gl.ctx.buffer(prim_quad()), 'position', 'texcoord')"
],
"metadata": {
"id": "FX6cxRQtpsRx"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"uniform_mat(program[\"u_model\"], m44_scaling([1,image.shape[0] / image.shape[1],1]))\n",
"program[\"u_tex\"].value = 0\n",
"\n",
"texture.use()\n",
"gl.ctx.clear(.1, .1, .1, 1)\n",
"gl.ctx.enable(moderngl.DEPTH_TEST)\n",
"\n",
"quad.render(mode=moderngl.TRIANGLE_STRIP)\n",
"\n",
"PIL.Image.fromarray(gl.read())"
],
"metadata": {
"id": "YJ4HBf3np0pv",
"outputId": "75d20b27-81fd-4036-cacd-f6e1ff492031",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 273
}
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<PIL.Image.Image image mode=RGBA size=256x256>"
],
"image/png": "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\n"
},
"metadata": {},
"execution_count": 13
}
]
},
{
"cell_type": "markdown",
"source": [
"### Primitive Restart"
],
"metadata": {
"id": "CrNzRMpNua2C"
}
},
{
"cell_type": "code",
"source": [
"gl = GL((256,256), backend='egl')\n",
"\n",
"program = gl.ctx.program('''\n",
"#version 330\n",
"\n",
"in vec3 position;\n",
"in vec3 color;\n",
"\n",
"out vec3 v_color;\n",
"\n",
"void main() {\n",
" v_color = color;\n",
" gl_Position = vec4(position, 1.0);\n",
"}''', '''\n",
"#version 330\n",
"out vec4 fragColor;\n",
"\n",
"in vec3 v_color;\n",
"\n",
"void main() {\n",
" fragColor = vec4(v_color, 1.0);\n",
"}''')\n",
"\n",
"vertices = np.array([\n",
" -.5, .5, 0, 1,0,0,\n",
" .5, .5, 0, 0,1,0,\n",
" .5, 0, 0, 0,0,1,\n",
" .5, -.5, 0, 1,0,0,\n",
" -.5, -.5, 0, 0,1,0,\n",
" -.5, 0, 0, 0,0,1,\n",
"],dtype=\"f4\")\n",
"indices = gl.ctx.buffer(np.array([0, 1, 2, -1, 3, 4, 5], dtype='i4'))\n",
"vao = gl.ctx.simple_vertex_array(program, gl.ctx.buffer(vertices), 'position', 'color',\n",
" index_buffer=indices)"
],
"metadata": {
"id": "tvZCK2eMqF0Y"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"gl.ctx.clear(.1, .1, .1, 1)\n",
"gl.ctx.enable(moderngl.DEPTH_TEST)\n",
"\n",
"vao.render(mode=moderngl.LINE_STRIP)\n",
"\n",
"PIL.Image.fromarray(gl.read())"
],
"metadata": {
"id": "L_4rE4rRqN6m",
"outputId": "813e2f8e-52e8-4d84-fe93-4ce3bf33989c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 273
}
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<PIL.Image.Image image mode=RGBA size=256x256>"
],
"image/png": "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\n"
},
"metadata": {},
"execution_count": 15
}
]
},
{
"cell_type": "markdown",
"source": [
"### Cube"
],
"metadata": {
"id": "2GhvW2fFiBu2"
}
},
{
"cell_type": "code",
"source": [
"def make_cube_faces(n, dtype=\"f4\"):\n",
" R, C = np.mgrid[:n,:n] / (n - 1) * 2 - 1\n",
" ones = np.ones_like(R)\n",
" RR = R[::-1]\n",
" return np.stack([np.stack([-ones,RR,C],-1),np.stack([ones,R,C],-1),\n",
" np.stack([R, -ones,C],-1),np.stack([RR,ones,C],-1),\n",
" np.stack([RR,C,-ones],-1),np.stack([R,C,ones],-1)]).astype(dtype)\n",
"\n",
"def make_cube_indices(shape, dtype=\"i4\"):\n",
" n, h, w = shape\n",
" m = h * w\n",
"\n",
" idx = np.arange(m, dtype=dtype).reshape((h, w))\n",
" a, b, c, d = idx[:-1,:-1].ravel(), idx[1:,:-1].ravel(), idx[1:,1:].ravel(), idx[:-1,1:].ravel()\n",
"\n",
" i = np.concatenate([np.r_[a,a] + m * i for i in range(n)])\n",
" j = np.concatenate([np.r_[b,c] + m * i for i in range(n)])\n",
" k = np.concatenate([np.r_[c,d] + m * i for i in range(n)])\n",
" return np.c_[i, j, k]"
],
"metadata": {
"id": "oyioA3CSutUR"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"gl = GL((256, 256), backend=\"egl\")"
],
"metadata": {
"id": "hjMf8QCXiFh-"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"program = gl.ctx.program('''\n",
"#version 330\n",
"uniform mat4 u_model;\n",
"uniform mat4 u_projView;\n",
"\n",
"in vec3 position;\n",
"in vec3 color;\n",
"\n",
"out vec3 v_color;\n",
"\n",
"void main() {\n",
" v_color = color;\n",
" gl_Position = u_projView * u_model * vec4(position, 1.0);\n",
"}''', '''\n",
"#version 330\n",
"out vec4 fragColor;\n",
"\n",
"in vec3 v_color;\n",
"\n",
"void main() {\n",
" fragColor = vec4(v_color, 1.0);\n",
"}''')\n",
"uniform_mat(program[\"u_model\"], np.eye(4,dtype=\"f4\"))\n",
"\n",
"gnomon = gl.ctx.simple_vertex_array(program, gl.ctx.buffer(prim_gnomon()), 'position', 'color')"
],
"metadata": {
"id": "3z2hJNBuiHpM"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"faces = make_cube_faces(3)\n",
"\n",
"cube = gl.ctx.simple_vertex_array(\n",
" program,\n",
" gl.ctx.buffer(gl_primitive({\"position\": faces.reshape(-1,3),\n",
" \"color\": faces.reshape(-1,3) * .5 + .5})),\n",
" 'position', 'color',\n",
" index_buffer=gl.ctx.buffer(make_cube_indices(faces.shape[:3])))"
],
"metadata": {
"id": "HOmMwGeXiOB8"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"view = m44_look_at([-2,-2,-5],[0,0,0],[0,1,0])\n",
"proj = m44_perspective(np.radians(45),1,.01, 100)\n",
"uniform_mat(program[\"u_projView\"], proj @ view)"
],
"metadata": {
"id": "22ddhF1_iSHt"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"gl.ctx.clear(.1, .1, .1, 1)\n",
"gl.ctx.enable(moderngl.DEPTH_TEST)\n",
"gl.ctx.enable(moderngl.BLEND)\n",
"gl.ctx.enable(moderngl.CULL_FACE)\n",
"gl.ctx.blend_func = moderngl.SRC_ALPHA, moderngl.ONE_MINUS_SRC_ALPHA\n",
"gl.ctx.blend_equation = moderngl.FUNC_ADD\n",
"\n",
"gnomon.render(mode=moderngl.LINES)\n",
"\n",
"cube.render(mode=moderngl.TRIANGLES)\n",
"\n",
"PIL.Image.fromarray(gl.read())"
],
"metadata": {
"id": "VEdbd552iUcb",
"outputId": "7f181da2-bd2f-438c-faaa-e46151be34e7",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 273
}
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<PIL.Image.Image image mode=RGBA size=256x256>"
],
"image/png": "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\n"
},
"metadata": {},
"execution_count": 21
}
]
},
{
"cell_type": "markdown",
"source": [
"### Tube"
],
"metadata": {
"id": "rfgx1sYuYX2U"
}
},
{
"cell_type": "code",
"source": [
"def prim_tube(n=32):\n",
" t = np.linspace(0, 1, n, endpoint=False) * np.pi * 2.\n",
" disc = np.c_[np.cos(t), np.ones(n), np.sin(t)]\n",
" verts = np.vstack((disc, disc * [1,-1,1])).astype(\"f4\")\n",
"\n",
" faces = []\n",
" for i in range(n):\n",
" i1 = (i + 1) % n\n",
" faces.append((i, i1, i + n))\n",
" faces.append((i + n, i1, n + i1))\n",
" faces = np.asarray(faces, dtype=\"i4\")\n",
" return verts, faces\n",
"\n",
"verts, faces = prim_tube(32)\n",
"\n",
"fig = plt.figure()\n",
"\n",
"ax = fig.add_subplot(projection=\"3d\", proj_type=\"ortho\")\n",
"ax.plot_trisurf(verts[:,0], verts[:,1], verts[:,2], triangles=faces,\n",
" shade=False, alpha=.3, linewidths=.5, edgecolors=\"gainsboro\")\n",
"\n",
"ax.set_box_aspect((1,1,1))\n",
"ax.xaxis.set_pane_color((.8,.8,.8,.15))\n",
"ax.yaxis.set_pane_color((.8,.8,.8,.15))\n",
"ax.zaxis.set_pane_color((.8,.8,.8,.15))\n",
"ax.xaxis.pane.set_linewidth(.7)\n",
"ax.yaxis.pane.set_linewidth(.7)\n",
"ax.zaxis.pane.set_linewidth(.7)\n",
"ax.minorticks_off()\n",
"ax.margins(0)\n",
"ax.view_init(elev=20,azim=230,vertical_axis=\"y\")\n",
"\n",
"plt.show()"
],
"metadata": {
"id": "1AkuY7ZHiVap",
"outputId": "52353a97-9337-47b3-b34a-5a7be30cc896",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 330
}
},
"execution_count": 4,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 500x300 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"image/png": {
"width": 321,
"height": 313
}
}
}
]
},
{
"cell_type": "code",
"source": [
"gl = GL((256, 256),backend=\"egl\")\n",
"\n",
"prog_vert_color = gl.ctx.program('''\n",
"#version 330\n",
"uniform mat4 u_model;\n",
"uniform mat4 u_projView;\n",
"\n",
"in vec3 position;\n",
"in vec3 color;\n",
"\n",
"out vec3 v_color;\n",
"\n",
"void main() {\n",
" v_color = color;\n",
" gl_Position = u_projView * u_model * vec4(position, 1.0);\n",
"}''', '''\n",
"#version 330\n",
"out vec4 fragColor;\n",
"\n",
"in vec3 v_color;\n",
"\n",
"void main() {\n",
" fragColor = vec4(v_color, 1.0);\n",
"}''')\n",
"uniform_mat(prog_vert_color[\"u_model\"], np.eye(4,dtype=\"f4\"))\n",
"\n",
"prog_const_color = gl.ctx.program('''\n",
"#version 330\n",
"uniform mat4 u_model;\n",
"uniform mat4 u_projView;\n",
"\n",
"in vec3 position;\n",
"\n",
"void main() {\n",
" gl_Position = u_projView * u_model * vec4(position, 1.0);\n",
"}''', '''\n",
"#version 330\n",
"uniform vec4 u_color;\n",
"\n",
"out vec4 fragColor;\n",
"\n",
"void main() {\n",
" fragColor = u_color;\n",
"}''')\n",
"uniform_mat(prog_const_color[\"u_model\"], np.eye(4, dtype=\"f4\"))\n",
"\n",
"gnomon = gl.ctx.simple_vertex_array(prog_vert_color, gl.ctx.buffer(prim_gnomon()), 'position', 'color')\n",
"\n",
"tube = gl.ctx.simple_vertex_array(\n",
" prog_const_color,\n",
" gl.ctx.buffer(verts),\n",
" 'position',\n",
" index_buffer=gl.ctx.buffer(faces))"
],
"metadata": {
"id": "1ByBUaK2YdQc"
},
"execution_count": 6,
"outputs": []
},
{
"cell_type": "code",
"source": [
"view = m44_look_at([3,3,3],[0,0,0],[0,1,0])\n",
"proj = m44_perspective(np.radians(45),1,.01, 100)\n",
"\n",
"uniform_mat(prog_vert_color[\"u_projView\"], proj @ view)\n",
"uniform_mat(prog_const_color[\"u_projView\"], proj @ view)"
],
"metadata": {
"id": "FrU0KMZ-YxxO"
},
"execution_count": 7,
"outputs": []
},
{
"cell_type": "code",
"source": [
"gl.ctx.clear(.1, .1, .1, 1)\n",
"gl.ctx.enable(moderngl.DEPTH_TEST)\n",
"gl.ctx.enable(moderngl.BLEND)\n",
"gl.ctx.blend_func = moderngl.SRC_ALPHA, moderngl.ONE_MINUS_SRC_ALPHA\n",
"gl.ctx.blend_equation = moderngl.FUNC_ADD\n",
"\n",
"gl.ctx.enable(moderngl.CULL_FACE)\n",
"gl.ctx.cull_face = \"front\"\n",
"\n",
"prog_const_color[\"u_color\"].write(np.array([1,1,1,.35],dtype=\"f4\"))\n",
"tube.render(mode=moderngl.TRIANGLES)\n",
"\n",
"prog_const_color[\"u_color\"].write(np.array([1,1,0,1],dtype=\"f4\"))\n",
"tube.render(mode=moderngl.LINES)\n",
"\n",
"gnomon.render(mode=moderngl.LINES)\n",
"\n",
"gl.ctx.cull_face = \"back\"\n",
"prog_const_color[\"u_color\"].write(np.array([1,1,1,.35],dtype=\"f4\"))\n",
"tube.render(mode=moderngl.TRIANGLES)\n",
"\n",
"PIL.Image.fromarray(gl.read())"
],
"metadata": {
"id": "yXI9d40FY5SB",
"outputId": "edf15c81-1799-4265-eded-ef5954d7d6d8",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 273
}
},
"execution_count": 9,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<PIL.Image.Image image mode=RGBA size=256x256>"
],
"image/png": "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\n"
},
"metadata": {},
"execution_count": 9
}
]
},
{
"cell_type": "markdown",
"source": [
"### Intersections"
],
"metadata": {
"id": "Egqmx0JTzpco"
}
},
{
"cell_type": "code",
"source": [
"def prim_plane(size=1):\n",
" position = np.array([[-size, size, 0], [-size, -size, 0], [size, size, 0], [size, -size, 0]], dtype=\"f4\")\n",
" texcoord = np.array([[0, 1], [0, 0], [1, 1], [1, 0]], dtype=\"f4\")\n",
" return gl_primitive({\"position\": position, \"texcoord\": texcoord})"
],
"metadata": {
"id": "PqXkSrku1eAL"
},
"execution_count": 4,
"outputs": []
},
{
"cell_type": "code",
"source": [
"gl = GL((256, 256),backend=\"egl\")\n",
"\n",
"prog_vert_color = gl.ctx.program('''\n",
"#version 330\n",
"uniform mat4 u_model;\n",
"uniform mat4 u_projView;\n",
"\n",
"in vec3 position;\n",
"in vec3 color;\n",
"\n",
"out vec3 v_color;\n",
"\n",
"void main() {\n",
" v_color = color;\n",
" gl_Position = u_projView * u_model * vec4(position, 1.0);\n",
"}''', '''\n",
"#version 330\n",
"uniform float u_alpha;\n",
"\n",
"out vec4 fragColor;\n",
"\n",
"in vec3 v_color;\n",
"\n",
"void main() {\n",
" fragColor = vec4(v_color, u_alpha);\n",
"}''')\n",
"uniform_mat(prog_vert_color[\"u_model\"], np.eye(4,dtype=\"f4\"))\n",
"prog_vert_color[\"u_alpha\"].value = 1\n",
"\n",
"gnomon = gl.ctx.simple_vertex_array(prog_vert_color, gl.ctx.buffer(prim_gnomon()), 'position', 'color')\n",
"\n",
"prog_const_color = gl.ctx.program('''\n",
"#version 330\n",
"uniform mat4 u_model;\n",
"uniform mat4 u_projView;\n",
"\n",
"in vec3 position;\n",
"in vec2 texcoord;\n",
"\n",
"out vec2 v_texcoord;\n",
"\n",
"void main() {\n",
" v_texcoord = texcoord;\n",
" gl_Position = u_projView * u_model * vec4(position, 1.0);\n",
"}''', '''\n",
"#version 330\n",
"in vec2 v_texcoord;\n",
"\n",
"out vec4 fragColor;\n",
"\n",
"float hline(vec2 p, float y, float w) {\n",
" w *= .5;\n",
" float d = length(fwidth(p));\n",
" float ywm = y - w, ywp = y + w;\n",
" return smoothstep(ywm-d,ywm,p.y) * smoothstep(ywp+d,ywp,p.y);\n",
"}\n",
"\n",
"void main() {\n",
" float px = 1. / 256.;\n",
"\n",
" vec2 p = v_texcoord;\n",
" vec3 color = vec3(p, 1.0);\n",
" color = mix(color, vec3(1,1,0), hline(p, 0.5, px));\n",
" fragColor = vec4(color, 1);\n",
"}''')\n",
"uniform_mat(prog_const_color[\"u_model\"], np.eye(4, dtype=\"f4\"))"
],
"metadata": {
"id": "dYIl4wTEY6un"
},
"execution_count": 5,
"outputs": []
},
{
"cell_type": "code",
"source": [
"plane = gl.ctx.simple_vertex_array(prog_const_color, gl.ctx.buffer(prim_plane()), 'position', 'texcoord')"
],
"metadata": {
"id": "vshcn-sr1Szk"
},
"execution_count": 6,
"outputs": []
},
{
"cell_type": "code",
"source": [
"view = m44_look_at([1,1,3],[0,0,0],[0,1,0])\n",
"proj = m44_perspective(np.radians(45),1,.01, 100)\n",
"\n",
"uniform_mat(prog_vert_color[\"u_projView\"], proj @ view)\n",
"uniform_mat(prog_const_color[\"u_projView\"], proj @ view)"
],
"metadata": {
"id": "ycavcuYI1ewB"
},
"execution_count": 7,
"outputs": []
},
{
"cell_type": "code",
"source": [
"gl.ctx.clear(.1, .1, .1, 1)\n",
"gl.ctx.enable(moderngl.DEPTH_TEST)\n",
"gl.ctx.enable(moderngl.CULL_FACE)\n",
"gl.ctx.enable(moderngl.BLEND)\n",
"gl.ctx.blend_func = moderngl.SRC_ALPHA, moderngl.ONE_MINUS_SRC_ALPHA\n",
"gl.ctx.blend_equation = moderngl.FUNC_ADD\n",
"\n",
"gnomon.render(mode=moderngl.LINES)\n",
"\n",
"plane.render(mode=moderngl.TRIANGLE_STRIP)\n",
"\n",
"PIL.Image.fromarray(gl.read())"
],
"metadata": {
"id": "EjPNfRMD1lXC",
"outputId": "a3e3cafb-b849-4310-8d03-7ada2215ce5d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 273
}
},
"execution_count": 8,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<PIL.Image.Image image mode=RGBA size=256x256>"
],
"image/png": "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\n"
},
"metadata": {},
"execution_count": 8
}
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "_R5qornt1qc3"
},
"execution_count": null,
"outputs": []
}
]
}
@stwind
Copy link
Author

stwind commented Feb 10, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment