Pages

Se afișează postările cu eticheta graphics. Afișați toate postările
Se afișează postările cu eticheta graphics. Afișați toate postările

luni, 10 august 2026

Tool : termux and Text User Interfaces demo.

The combination of Termux, Text User Interfaces (TUI), and C using ncurses turns an Android smartphone into an ultra-fast, lightweight, and highly efficient retro development environment. Optimized for lightweight performance, this setup delivers exceptional speed with minimal memory usage directly on mobile devices. Its main strength lies in a seamless hybrid interaction model, perfectly blending traditional keyboard navigation with full touchscreen support for an intuitive mobile coding experience.
In our tui_complete_001.c code, we built a comprehensive suite of C-based TUI controls inspired by classic Turbo Pascal IDEs. Navigation flows naturally through multi-level hierarchical menus with submenus and a top-tab system. The interface features touch-responsive Yes or No confirmation dialogs, temporary red toast alert notifications, and a login form with automatic password masking. For interactive data management, the code integrates a multi-select checklist, a structured data table grid, a scrollable list view, an interactive slider, and a real-time animated progress bar, resulting in a robust and responsive C framework built entirely inside Termux.

marți, 21 iulie 2026

Tools : ... publicly available 4K visualizations of NASA.

NASA Scientific Visualization Studio is based out of the Goddard Space Flight Center (GSFC), located in Greenbelt, Maryland. The core studio consists of a team of (approximately) 15 visualizers, some of whom have been working with the studio for almost 30 years. The SVS's visualizers specialize in a wide variety of disciplines — astronomy, planetary science, climatology, cartography, and 3D modeling (to name a few) — but are united by a common love of making science accessible.

luni, 20 iulie 2026

duminică, 12 iulie 2026

News : monolith-terrain an interactive, real-time 3D terrain map.

An interactive, real-time 3D terrain map in the style of a vintage USGS topographic sheet, crossed with a sci-fi FUI overlay. Load real-world elevation data for anywhere on Earth, or generate procedural mountain ranges — then explore them with contour lines, hypsometric tinting, survey grids, spot elevations, clickable peak markers, radar scans, and cinematic camera tours.

vineri, 10 iulie 2026

News : Three.js Water Pro

Three.js Water Pro.
Real-time, physically-based ocean rendering for Three.js WebGPU.

News : Blender 5.2 LTS - Release Candidate!

Blender 5.2 LTS has reached Release Candidate! 🚀
Now's the time to put it to the test and report any issues. Let's make this release as stable as possible!

miercuri, 1 iulie 2026

News : 500 free points - AI Cloud Plans.

Start creating with Reallusion AI Services for free. Choose the plan that best fits your needs, with a unified AI Points system that works across AI Studio, Video Mocap, and Headshot Image Generation.

marți, 9 iunie 2026

News : G'MIC new current pre-release 3.7.7 .

G'MIC is a full-featured open-source framework for digital image processing, distributed under the CeCILL free software licenses (LGPL-like and/or GPL-compatible). It provides several user interfaces to convert / process / visualize generic image datasets, ranging from 1D scalar signals to 3D+t sequences of multi-spectral volumetric images, hence including 2D color images.
This new new current pre-release version 3.7.7 comes at 2026.06.08.

vineri, 10 aprilie 2026

FASM : mouse crosshair with lines on the window GDI.

For a year now, it keeps hacking me on Windows. And when I am in a bad mood, I turn to complex things. Today, I wanted to see if I could make a functional assembly code with Microsoft's Copilot artificial intelligence and my assembly knowledge with FASM. Here is what resulted.
The program is a Win32 GUI application written in FASM that draws a crosshair (vertical + horizontal line) following the mouse cursor inside a window classic GDI.
1. Window Setup
The app starts by registering a Win32 window class (WNDCLASSEX) and creating a standard overlapped window. Nothing unusual here — just the classic Win32 boilerplate.
2. Message Loop
The program enters the main loop:
  • GetMessage
  • TranslateMessage
  • DispatchMessage
This keeps the window responsive and forwards events to the window procedure.
3. Tracking the Mouse
Whenever the mouse moves inside the window, Windows sends a WM_MOUSEMOVE message. The program extracts the X and Y coordinates from lParam:
  • LOWORD(lParam) → X
  • HIWORD(lParam) → Y
These values are stored and the window is invalidated so it can be repainted.
4. Drawing the Crosshair (GDI)
All drawing happens inside WM_PAINT using classic GDI:
  • MoveToEx
  • LineTo
  • Ellipse
  • TextOut
  • FillRect
The steps are:
  • Clear the client area
  • Get the window’s current size (GetClientRect)
  • Draw a vertical line at the mouse’s X position
  • Draw a horizontal line at the mouse’s Y position
  • Draw a small circle at the intersection
  • Print the coordinates in the corner
Because the client size is read dynamically, the crosshair always stretches across the entire window — no matter how it’s resized.
See the source code
; mouse_crosshair.asm
format PE GUI 4.0
entry start
include "win32a.inc"

WM_MOUSEMOVE = 0x0200

section '.data' data readable writeable

    szClass db "MouseGraph",0
    szTitle db "Mouse Crosshair Demo",0

    mouseX dd 0
    mouseY dd 0

    fmt    db "X=%d  Y=%d",0
    buffer db 64 dup(0)

    rc  RECT
    ps  PAINTSTRUCT
    wc  WNDCLASSEX
    msg MSG

section '.code' code readable executable

start:
    invoke GetModuleHandle,0
    mov [wc.hInstance],eax

    mov [wc.cbSize],sizeof.WNDCLASSEX
    mov [wc.style],CS_HREDRAW or CS_VREDRAW
    mov [wc.lpfnWndProc],WndProc
    mov [wc.cbClsExtra],0
    mov [wc.cbWndExtra],0
    mov [wc.hIcon],0
    mov [wc.hIconSm],0
    mov [wc.lpszMenuName],0
    mov [wc.lpszClassName],szClass
    mov [wc.hbrBackground],COLOR_WINDOW+1

    invoke LoadCursor,0,IDC_ARROW
    mov [wc.hCursor],eax

    invoke RegisterClassEx,wc

    invoke CreateWindowEx,0,szClass,szTitle,\
           WS_VISIBLE+WS_OVERLAPPEDWINDOW,\
           200,200,800,600,0,0,[wc.hInstance],0

msg_loop:
    invoke GetMessage,msg,0,0,0
    test eax,eax
    jz exit
    invoke TranslateMessage,msg
    invoke DispatchMessage,msg
    jmp msg_loop

exit:
    invoke ExitProcess,0

; ---------------------------------------------------------
proc WndProc hWnd,uMsg,wParam,lParam

    cmp [uMsg],WM_MOUSEMOVE
    je .mouse

    cmp [uMsg],WM_PAINT
    je .paint

    cmp [uMsg],WM_DESTROY
    je .destroy

.def:
    invoke DefWindowProc,[hWnd],[uMsg],[wParam],[lParam]
    ret

; ---------------- WM_MOUSEMOVE ----------------
.mouse:
    mov eax,[lParam]
    and eax,0FFFFh
    mov [mouseX],eax

    mov eax,[lParam]
    shr eax,16
    and eax,0FFFFh
    mov [mouseY],eax

    invoke InvalidateRect,[hWnd],0,TRUE
    ret

; ---------------- WM_PAINT ----------------
.paint:
    invoke BeginPaint,[hWnd],ps
    mov esi,eax ; hdc

    ; clean client
    invoke GetClientRect,[hWnd],rc
    invoke FillRect,esi,rc,COLOR_WINDOW+1

    ; pen red
    invoke CreatePen,PS_SOLID,1,0x0000FF
    mov ebx,eax
    invoke SelectObject,esi,ebx

    ; ---------------- linie verticala (cruce) ----------------
    mov eax,[mouseX]        ; X constant
    mov edx,[rc.bottom]     ; Y max (jos)
    invoke MoveToEx,esi,eax,0,0
    invoke LineTo,esi,eax,edx

    ; ---------------- line  ----------------
    mov eax,[mouseY]        ; Y constant
    mov edx,[rc.right]      ; X max (dreapta)
    invoke MoveToEx,esi,0,eax,0
    invoke LineTo,esi,edx,eax

    ; punct în intersec?ie
    mov eax,[mouseX]
    mov edx,[mouseY]
    invoke Ellipse,esi,eax-4,edx-4,eax+4,edx+4

    ; text coordonate
    invoke wsprintf,buffer,fmt,[mouseX],[mouseY]
    invoke lstrlen,buffer
    invoke TextOut,esi,10,10,buffer,eax

    invoke EndPaint,[hWnd],ps
    ret

; ---------------- WM_DESTROY ----------------
.destroy:
    invoke PostQuitMessage,0
    ret

endp

section '.idata' import data readable
library kernel32,"KERNEL32.DLL",\
        user32,"USER32.DLL",\
        gdi32,"GDI32.DLL"

include "api/kernel32.inc"
include "api/user32.inc"
include "api/gdi32.inc"

vineri, 3 aprilie 2026

Tools : Arnis : handle large-scale geographic into Minecraft worlds.

Arnis creates complex and accurate Minecraft Java Edition (1.17+) and Bedrock Edition worlds that reflect real-world geography, topography, and architecture.
This free and open source project is designed to handle large-scale geographic data from the real world and generate detailed Minecraft worlds. The algorithm processes geospatial data from OpenStreetMap as well as elevation data to create an accurate Minecraft representation of terrain and architecture. Generate your hometown, big cities, and natural landscapes with ease!

marți, 31 martie 2026

News : example with cubes from omma.build website

3D scenes, websites, games, apps. Describe anything and Omma builds it for you in seconds.
I found this idea of html graphics design, see this exemple website.
The main website is the omma website.

sâmbătă, 28 februarie 2026

joi, 26 februarie 2026

Tools : A series of advanced mathematical and computational algorithms ...

Below is the list of algorithms and mathematical concepts involved, from fundamental vector geometry to state-of-the-art neural networks in software development with vector mathematics:
  • Bezier Polynomials (Quadratic and Cubic): The mathematical foundation for generating smooth SVG paths using control points.
  • Casteljau Algorithm: A recursive method used for curve subdivision and robust geometric construction.
  • Affine Transformations: 3x3 matrix operations enabling translation, rotation, scaling, and skewing of objects.
  • Curve Tessellation: Adaptive subdivision algorithms converting smooth parametric curves into discrete pixel segments.
  • Spiro Splines: Used in Inkscape to create curves that minimize curvature variation through clothoid segments.
  • Boolean Operations (Union, Intersection, Difference, XOR): Based on computational geometry for combining complex shapes.
  • Bentley–Ottmann Algorithm: Used to detect line‑segment intersections during boolean path operations.
  • Winding Number Calculation: Determines whether a point lies inside or outside a path.
  • Arc‑Length Parameterization: Essential for placing text on a path and for uniform motion animations.
  • Potrace Algorithm: Converts bitmap images into vector paths through decomposition, polygon optimization, and least‑squares curve fitting.
  • Sobel Operator: Edge‑detection algorithm computing gradient magnitude and direction in raster images.
  • Ramer–Douglas–Peucker Algorithm: Simplifies paths by reducing intermediate points while preserving shape fidelity.
  • Schneider Algorithm: Optimizes Bézier curve fitting using Newton–Raphson iteration.
  • DeepSVG (Hierarchical Generative Networks): Enables vector graphics reconstruction and animation through latent‑space operations.
  • SVGformer (Transformer Architectures): Captures complex patterns and dependencies in large SVG datasets.
  • GANs (Generative Adversarial Networks): Produce professional vector outputs through adversarial training.
  • CVAEs (Convolutional Variational Autoencoders): Learn to encode and decode graphic data such as fonts or icons into latent spaces.
  • L‑Systems (Lindenmayer Systems): Use formal grammar rules and recursion to generate organic shapes.
  • Perlin Noise: Produces mathematically controlled random variations for organic patterns.
  • Verlet Integration: Used in force‑based simulations (Coulomb attraction, Hooke elasticity) for data visualization.
  • Convolution Mathematics: Implements SVG filters (such as Gaussian Blur) using discrete convolution matrices.

Tools : Hitem3d

With Hitem3d, turning a 2D image into a 3D model is simpler than ever. Just upload your image, generate the model with one click, and export it for further editing across multiple applications.

joi, 19 februarie 2026

News : Home Orthodox Great Lent - years with tweakpane on codepen.

Today I made "Home Orthodox Great Lent - years", the idea is to see how tweakpane version 4.0.4 works in codepen.

See the Pen Orthodox Great Lent - years by Cătălin George Feștilă (@catafest) on CodePen.

News : my logo for game development .

Today I'm going to show you a logo design for my game development and it's under my own copyright.
Since I came here, I've been stuck with hacking from my provider, there's no point in complaining anymore unless I invest in additional security, and it's messing with my internet anyway, etc.
Even if I don't manage to sell anything, I will be satisfied with what I have achieved in these difficult conditions.