I am in the process of writing a image viewer, to build a replacement for the extremely slow built-in windows-10 photo viewer shit thing and also to fill the gap of a good image viewer here on this network.
As it current state, its already working and i have the main functionality done: Loading images and display them.
Also images are multi-threaded preloaded, so you can fast browse through them.
As i dont want have time to write dozens of image decoders, i am relying on STB_image to do this for me and its doing a great job so far.
The rendering is based on OpenGL 3.3 Core and uses several image filter modes you can choose from (No filter, Bilinear, Bicubic, Lanczos).
For most images it works great, but for images which have thin lines, like grid-like images - it barely can display the lines.
When i compare my image output with the output from the windows-7 image viewer, my viewer seems to be really bad at displaying images :-( They can render that thin lines images absolutly fine, so they must do something which i dont to produce good looking images on the screen.
I tried to compensate for that by adding several GLSL filters, but even the Lanczos one does not solve that problem at all.
Normally such problems can be fixed using mip-mapping, but mip-maps are not supported for GL_TEXTURE_RECTANGLE - as i want to support non-power of images too.
So what is missing to finish it?
- Obvisously a good way to down/up-scale images to produce the best output quality on the screen -> At least identical to the windows-7 image viewer
- Drag & drop support, so you dont need to pass the path by the command line
- Minimalistic icons to browse images using the mouse as well (At the moment i only support keyboard controls)
- Optional in/out effect
- Find a proper name for that
- Ship it
I would love to show you guys the result, but i am at the office right now and all cloud/image upload services are blocked unfortunatly. But i will upload it as soon as i got home.
Stay tuned.