Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚧 Bu repository bir Vibe Coding projesidir. / This is a Vibe Coding project. 🚧

🌍 Languages / Diller:


High-performance, real-time physically based Thermal/Infrared Sensor Simulator

View Demo · Report Bug · Request Feature


🇬🇧 English Documentation

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact

About The Project

This project simulates real-world infrared physics and produces synthetic thermal imagery directly from generic 3D metrics. The system natively reads generated terrains via a G-Buffer pipeline (Material ID & Normal distributions) and feeds them directly to CUDA for hardware-accelerated radiance physics execution.

Core Features:

  • GPU-Accelerated Thermal Physics: Uses CUDA kernels to perform real-time thermal balancing based on solar radiation (Lambertian principles), ambient temperature, wind convection, and terrain material heat properties.
  • Advanced Environment Modeling: Fully dynamic diurnal cycles. The simulation organically adapts to the time of day, absolute temperature, humidity (affecting atmospheric transmission via Beer-Lambert modeling), and wind conditions.
  • Physical Sensor Simulation: Implements MTF (Modulation Transfer Function) with separable Gaussian PSF blurring and incorporates comprehensive FPA models (NEdT, FPN), including non-uniformity spatial noise, temporal noise, and simulated AGC logic mapping radiance ranges dynamically to display limits.
  • Hybrid Target Pipelines: Integrates OpenGL's MRT (Multiple Render Targets) to directly output Position, Normal, and Material IDs via G-Buffers.
  • Extensible Integration: Designed as both a standalone executable (ir_sim) equipped with a real-time Dear ImGui dashboard, and as a native ir_sensor_plugin.so for easy embedment into platforms like Unity and Unreal Engine 5.

(back to top)

Built With

  • CUDA
  • OpenGL
  • C++
  • ImGui

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

  • CUDA Toolkit (Compute Capability 7.5+ recommended)
  • OpenGL 4.5+ & GLFW3
  • yaml-cpp (For material DB loading)
  • HDF5 (C/C++ libraries for atmospheric lookup tables)

Installation

  1. Clone the repo
    git clone https://github.com/yusufcansehirli/IR-Sensor-Simulation-Engine.git
  2. Build the project
    mkdir build
    cd build
    cmake -DCMAKE_BUILD_TYPE=Release ..
    make -j16

(back to top)

Usage

Run the main simulator to observe the runtime visual output with customizable GUI configurations:

./build/ir_sim

You can dynamically alter time of day, wind speed, ambient temperatures, and switch active imaging bands (e.g., MWIR 3.5 - 4.9 µm vs. LWIR 8.5 - 11.5 µm) to experience real-time heat adaptations.

(back to top)

Roadmap

  • Phase 1: 3D Terrain & G-Buffer Rendering Integration
  • Phase 2: Sensor Tracker Integration (FocusTrack)
  • Phase 3: Unreal Engine 5 Custom Plugin Support

See the open issues for a full list of proposed features (and known issues).

(back to top)


🇹🇷 Türkçe Dokümantasyon

İçindekiler / Table of Contents
  1. Proje Hakkında
  2. Başlarken
  3. Kullanım
  4. Yol Haritası
  5. Katkıda Bulunma
  6. Lisans

Proje Hakkında

IR Sensor Simulation Engine, Bilgisayarlı Görme, Hedef Takibi ve İHA (Drone) simülasyonları için özel olarak geliştirilmiş yüksek performanslı ve gerçek zamanlı fiziksel tabanlı bir Termal/Kızılötesi Sensör Simülatörüdür. 3B ortamları işlemek, termal radyans hesaplamaları yapmak ve gerçekçi sensör hatalarını (noise) uygulamak için hibrit OpenGL + CUDA mimarisinden yararlanır.

Temel Özellikler:

  • GPU Hızlandırmalı Termal Fizik: Güneş radyasyonu (Lambertian yasası), ortam hava sıcaklığı, rüzgar kaynaklı ısı taşınımı (konveksiyon) ve materyallerin fiziksel kapasitelerine dayalı gerçek zamanlı termal denge (T_surface) çözümleri üretir.
  • Gelişmiş Çevresel Modelleme: Tamamen dinamik gün içi döngüler! Simülasyon, günün saatine, sıcaklığa, rüzgar durumuna ve atmosferik geçirgenliğe dinamik olarak uyum sağlar.
  • Fiziksel Sensör Simülasyonu: Gelişmiş MTF hesaplaması ile Optik Dağılımını (PSF), Mekansal (FPN) ve Zamansal (NEdT) gürültüleri simüle eder. Gerçek boyutlu dinamik AGC haritalamasını barındırır.
  • 3D G-Buffer Entegrasyonu: OpenGL'in Çoklu Render Hedefi (MRT) mimarisi ile Pozisyon, Normal Vektörleri ve Materyal ID'leri doğrudan CUDA tabanlı ışın/enerji hesaplama fonksiyonlarına donanım seviyesinde paslanır.
  • Esnek Entegrasyon: Gerçek zamanlı Dear ImGui kontrol paneline sahip bağımsız çalıştırılabilir (ir_sim) versiyonunun yanı sıra, simülasyon motorlarına kolayca bağlanabilen ir_sensor_plugin.so kütüphane çıktısını destekler.

(başa dön)

Kullanılan Teknolojiler

  • CUDA
  • OpenGL
  • C++
  • ImGui

(başa dön)

Başlarken

Projeyi yerel makinenizde çalıştırmak için aşağıdaki adımları izleyin.

Gereksinimler

  • CUDA Toolkit (Compute Capability 7.5+ önerilir)
  • OpenGL 4.5+ & GLFW3
  • yaml-cpp (Materyal Veritabanı okumaları için)
  • HDF5 (Atmosferik kütüphane geçişleri için)

Kurulum

  1. Depoyu klonlayın
    git clone https://github.com/yusufcansehirli/IR-Sensor-Simulation-Engine.git
  2. Projeyi CMake ile derleyin
    mkdir build
    cd build
    cmake -DCMAKE_BUILD_TYPE=Release ..
    make -j16

(başa dön)

Kullanım

Görsel çıktı değerlerini anlık izlemek ve sahne ile etkileşime geçmek için temel simülatörü çalıştırın:

./build/ir_sim

GUI üzerinden simülasyon saati (sim_time_hours), rüzgar, nem ile kamera bandı algılayıcısını (MWIR veya LWIR) anlık olarak değiştirebilir ve sahnedeki termal tepkimelerin gerçek hayattaki gibi anlık değiştiğini gözlemleyebilirsiniz.

(başa dön)

Yol Haritası

  • Faz 1: 3D Geometri ve G-Buffer Rendering Entegrasyonu
  • Faz 2: Sensör İzleyici/Tracker Entegrasyonu (FocusTrack)
  • Faz 3: Unreal Engine 5 Custom Plugin Bağlantıları (ir_sensor_plugin)

Önerilen tüm projeleri / hataları görmek için open issues sayfasını ziyaret edebilirsiniz.

(başa dön)

Katkıda Bulunma

Açık kaynak komünitesine her türlü katkı çok değerlidir. Bu yönergeler doğrultusunda Pull Request açmaktan çekinmeyin!

(başa dön)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Lisans

Proje MIT Lisansı ile dağıtılmaktadır. Daha fazla bilgi için LICENSE.txt dosyasına bakabilirsiniz.

(başa dön)

Contact & İletişim

Yusufcan Şehirli - yusufcansehirli@gmail.com

Project Link: https://github.com/yusufcansehirli/IR-Sensor-Simulation-Engine

(başa dön)

About

This project simulates real-world infrared physics and produces synthetic thermal imagery directly from generic 3D metrics. The system natively reads generated terrains via a G-Buffer pipeline (Material ID & Normal distributions) and feeds them directly to CUDA for hardware-accelerated radiance physics execution.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages