Skip to content

Instantly share code, notes, and snippets.

{
"keys": ["ctrl+alt+w"],
"command": "reopen", "args": {"encoding": "Cyrillic (Windows 1251)" }
},
@hb3p8
hb3p8 / text-textinput.cpp
Created December 22, 2016 08:13
Question regarding custom UnformatedText-like widget implementation #949
// Create text input in place of a text
static void TextAsWidgetReplacement(const ImRect& aabb, const char* label, ImGuiID id)
{
ImGuiContext& g = *GImGui;
ImGuiWindow* window = GetCurrentWindow();
// Our replacement widget will override the focus ID (registered previously to allow for a TAB focus to happen)
SetActiveID(g.ScalarAsInputTextId, window);
SetHoveredID(0);
FocusableItemUnregister(window);
@hb3p8
hb3p8 / getBufferSubData.cpp
Created April 19, 2017 11:21
getBufferSubData for Emscripten
int size = ...
void* data = new char[size];
EM_ASM_(
{
Module.ctx.getBufferSubData(Module.ctx.ARRAY_BUFFER, 0, HEAPU8.subarray($0, $0 + $1));
}, data, size);
{
// Print debug message
"debug": false,
// Auto format on file save
"autoformat_on_save": false,
// The mapping key is `syntax name`, and the value is `formatting mode`.
// Note that the value for each mapping should be "c", "java" or "cs".
"user_defined_syntax_mode_mapping": {
for d in */ ; do cp sample.py $d`echo "$d" | sed 's/\(.*\)\..*/\1.py/'`; done
float const depthGL = read_imagef (depthImage, depthSampler, (int2) (x, y)).x; // in range [0,1]
float2 const pixel = (float2) ( (x + 0.5f) / (float) imageSizeX,
(y + 0.5f) / (float) imageSizeY); // in range [0,1]
float4 point_NDC = (float4) ( 2.0f * pixel.x - 1.0f, // in range [-1,1]
2.0f * pixel.y - 1.0f, // in range [-1,1]
2.0f * depthGL - 1.0f, // in range [-1,1]
1.0f);
vec4 StepJFA (in vec2 fragCoord, in float level)
{
level = clamp(level-1.0, 0.0, c_maxSteps);
float stepwidth = floor(exp2(c_maxSteps - level)+0.5);
float bestDistance = 9999.0;
vec2 bestCoord = vec2(0.0);
vec3 bestColor = vec3(0.0);
for (int y = -1; y <= 1; ++y) {
std::ofstream file ("Mesh.obj");
// Every vertex is a line in output file:
// v pos_x pos_y pos_z
for (int i = 0; i < mesh->numVertices(); ++i) {
file << "v " << mesh->vertices()[i].x() << " "
<< mesh->vertices()[i].y() << " "
<< mesh->vertices()[i].z() << std::endl;
}
// based on shader by Nikos Papadopoulos, 4rknova / 2013 (https://www.shadertoy.com/view/llGSzw)
// Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
#define ENABLE_LIGHTING
#define ENABLE_SPECULAR
#define OFFSET_X 1
#define OFFSET_Y 1
#define DEPTH 5.5
// CC0
#define IMGUI_DEFINE_MATH_OPERATORS
#include <imgui_internal.h>
#define isdigit(c) (c >= '0' && c <= '9')
namespace ImGui
{
float strToFloat (const char *s) // atof from minilibc