Cartoon Filter
Engineering project focused on building a cartoon-style image filter and comparing performance between C++ and x64 Assembly implementations inside one Windows solution.
The primary objective was educational and experimental: implement the same processing approach in C++ and ASM, integrate both into a C# desktop app, and use the project to study cross-language architecture, native interop, and optimization tradeoffs.
The project achieved that objective: both native paths were implemented and integrated, the application runs in x64 builds, and the full workflow (load image, tune density, apply filter, save output) works in a single executable environment.
From a software engineering perspective, the project delivered:
- A working cross-language architecture (C# -> C++/ASM DLL) with runtime integration.
- A functional image-processing pipeline for common formats (BMP/JPG/PNG).
- A practical setup for C++ vs ASM speed comparison and low-level optimization learning.
Simplified project structure:
cartoon-filter/
|- GraphicFilter.sln
|- README.md
`- src/
|- GraphicFilterPrototyp/ # C# WinForms app (.NET Framework 4.8)
|- CppCode/ # Native C++ DLL
`- ASMCode/ # x64 MASM DLL
Build and validation are centered on Visual Studio 2022 and the x64 target. Build GraphicFilter.sln (Debug or Release), then run the generated artifacts from bin\x64\<Configuration>\.
msbuild .\GraphicFilter.sln /t:Build /p:Configuration=Debug /p:Platform=x64
Requirements: Windows (x64), Visual Studio 2022 with C#/.NET desktop and C++ workloads, MASM build tools, and .NET Framework 4.8 runtime.
License
This project is licensed under the MIT License. See LICENSE for details.