+ "examples": "How to create a texture and apply it to a new box node:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">w</span> <span class=\"o\">=</span> <span class=\"mi\">200</span>\n <span class=\"kd\">local</span> <span class=\"n\">h</span> <span class=\"o\">=</span> <span class=\"mi\">300</span>\n\n <span class=\"c1\">-- A nice orange. String with the RGB values.</span>\n <span class=\"kd\">local</span> <span class=\"n\">orange</span> <span class=\"o\">=</span> <span class=\"nb\">string.char</span><span class=\"p\">(</span><span class=\"mh\">0xff</span><span class=\"p\">)</span> <span class=\"o\">..</span> <span class=\"nb\">string.char</span><span class=\"p\">(</span><span class=\"mh\">0x80</span><span class=\"p\">)</span> <span class=\"o\">..</span> <span class=\"nb\">string.char</span><span class=\"p\">(</span><span class=\"mh\">0x10</span><span class=\"p\">)</span>\n\n <span class=\"c1\">-- Create the texture. Repeat the color string for each pixel.</span>\n <span class=\"kd\">local</span> <span class=\"n\">ok</span><span class=\"p\">,</span> <span class=\"n\">reason</span> <span class=\"o\">=</span> <span class=\"n\">gui</span><span class=\"p\">.</span><span class=\"n\">new_texture</span><span class=\"p\">(</span><span class=\"s2\">"orange_tx"</span><span class=\"p\">,</span> <span class=\"n\">w</span><span class=\"p\">,</span> <span class=\"n\">h</span><span class=\"p\">,</span> <span class=\"s2\">"rgb"</span><span class=\"p\">,</span> <span class=\"nb\">string.rep</span><span class=\"p\">(</span><span class=\"n\">orange</span><span class=\"p\">,</span> <span class=\"n\">w</span> <span class=\"o\">*</span> <span class=\"n\">h</span><span class=\"p\">))</span>\n <span class=\"kr\">if</span> <span class=\"n\">ok</span> <span class=\"kr\">then</span>\n <span class=\"c1\">-- Create a box node and apply the texture to it.</span>\n <span class=\"kd\">local</span> <span class=\"n\">n</span> <span class=\"o\">=</span> <span class=\"n\">gui</span><span class=\"p\">.</span><span class=\"n\">new_box_node</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">200</span><span class=\"p\">,</span> <span class=\"mi\">200</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"n\">w</span><span class=\"p\">,</span> <span class=\"n\">h</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">))</span>\n <span class=\"n\">gui</span><span class=\"p\">.</span><span class=\"n\">set_texture</span><span class=\"p\">(</span><span class=\"n\">n</span><span class=\"p\">,</span> <span class=\"s2\">"orange_tx"</span><span class=\"p\">)</span>\n <span class=\"kr\">else</span>\n <span class=\"c1\">-- Could not create texture for some reason...</span>\n <span class=\"kr\">if</span> <span class=\"n\">reason</span> <span class=\"o\">==</span> <span class=\"n\">gui</span><span class=\"p\">.</span><span class=\"n\">RESULT_TEXTURE_ALREADY_EXISTS</span> <span class=\"kr\">then</span>\n <span class=\"p\">...</span>\n <span class=\"kr\">else</span>\n <span class=\"p\">...</span>\n <span class=\"kr\">end</span>\n <span class=\"kr\">end</span>\n<span class=\"kr\">end</span>\n<span class=\"err\">```</span><span class=\"n\">How</span> <span class=\"n\">to</span> <span class=\"n\">create</span> <span class=\"n\">a</span> <span class=\"n\">texture</span> <span class=\"n\">using</span> <span class=\"p\">.</span><span class=\"n\">astc</span> <span class=\"n\">format</span>\n\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n<span class=\"kd\">local</span> <span class=\"n\">path</span> <span class=\"o\">=</span> <span class=\"s2\">"/assets/images/logo_4x4.astc"</span>\n<span class=\"kd\">local</span> <span class=\"n\">buffer</span> <span class=\"o\">=</span> <span class=\"n\">sys</span><span class=\"p\">.</span><span class=\"n\">load_resource</span><span class=\"p\">(</span><span class=\"n\">path</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">n</span> <span class=\"o\">=</span> <span class=\"n\">gui</span><span class=\"p\">.</span><span class=\"n\">new_box_node</span><span class=\"p\">(</span><span class=\"n\">pos</span><span class=\"p\">,</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">))</span>\n<span class=\"c1\">-- size is read from the .astc buffer</span>\n<span class=\"c1\">-- flip is not supported</span>\n<span class=\"n\">gui</span><span class=\"p\">.</span><span class=\"n\">new_texture</span><span class=\"p\">(</span><span class=\"n\">path</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"s2\">"astc"</span><span class=\"p\">,</span> <span class=\"n\">buffer</span><span class=\"p\">,</span> <span class=\"kc\">false</span><span class=\"p\">)</span>\n<span class=\"n\">gui</span><span class=\"p\">.</span><span class=\"n\">set_texture</span><span class=\"p\">(</span><span class=\"n\">n</span><span class=\"p\">,</span> <span class=\"n\">path</span><span class=\"p\">)</span>\n</code></pre></div>",
0 commit comments