Skip to content

Commit df3a088

Browse files
authored
Updated README.md
1 parent a8f6211 commit df3a088

File tree

1 file changed

+28
-14
lines changed

1 file changed

+28
-14
lines changed

README.md

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,30 @@
1-
# qml3DWater
1+
```
2+
GraphicsProgramming
3+
===================
24
3-
Qt3D/QML implementation of water reflection/refraction using clipping planes.
5+
Demos related to **OpenGL**, **Qt/QML**, **OpenCV** and other X technologies.
46
5-
The water is just a simple a `PlaneMesh` entity and most of the work is done by `water.frag`:
6-
7-
- DuDv map is used to create distortions on the water surface;
8-
- The Fresnel effect allows the water to be more transparent when looking from above;
9-
- Specular highlights are based on a Normal map;
10-
- The mesh of the water is not changed at all by the vertex shader;
11-
12-
<img src="screenshot.gif" alt="Screenshot" width="400" height="400">
13-
14-
**References**:
15-
16-
- [OpenGL Water Tutorials](https://www.youtube.com/playlist?list=PLRIWtICgwaX23jiqVByUs0bqhnalNTNZh)
7+
Demo | Description | Screenshot
8+
----------------------------------|----------------------------------------|----------------------------------------
9+
**cvDisplacementMapFilter** | Displacement Map Filter implementation in C++/OpenCV that renders two images as a movie clip. | <img src="cvDisplacementMapFilter/screenshot.gif" width="200"/>
10+
**cvFruitClassification** | C++/OpenCV port of [a cool Python application](http://github.com/eliezerb/FruitClassification) that performs Oranges vs Apples classification using LDA. | <img src="cvFruitClassification/screenshot.jpg" width="200"/>
11+
**cvQtImage** | C++/OpenCV/Qt example that displays an image and the RGB values of a pixel based on mouse coordinates. | <img src="cvQtImage/screenshot.jpg" width="200"/>
12+
**cvQtCameraGL** | An interesting demo that shows how to use C++/OpenCV to retrieve frames from the camera and draw them with Qt `QGLWidget` for GPU rendering (OpenGL). | <img src="cvQtCameraGL/screenshot.gif" width="200"/>
13+
**cvQtVideo** | Another C++/OpenCV/Qt example on how to display video files with configurable Aspect Ratio. | <img src="cvQtVideo/screenshot.gif" width="200"/>
14+
**cvWatershedSegmentation** | [Stackoverflow answer](https://stackoverflow.com/a/25851951/176769) that uses C++/OpenCV's watershed segmentation with distance transform to segment beans. | <img src="cvWatershedSegmentation/screenshot.jpg" width="200"/>
15+
**ipcQtGesture** | C++/Qt application that uses the old *Intel® Perceptual Computing SDK 2013* for gesture recognition. Windows only. | No image available
16+
**qml2DRaycasting** | QML implementation of 2D raycasting. | <img src="qml2DRaycasting/screenshot.gif" width="200"/>
17+
**qml2DRaycastingEngine** | QML implementation of a 2D raycasting engine. | <img src="qml2DRaycastingEngine/screenshot.gif" width="200"/>
18+
**qml2DQuadTree** | QML implementation and visualization of the data structure *Quadtree* that offers operations to *insert* new points and *search* them within a rectangular area. | <img src="qml2DQuadTree/screenshot.gif" width="200"/>
19+
**qml3DTerrain** | Qt3D/QML implementation of dynamic terrain generation based on Perlin noise. | <img src="qml3DTerrain/screenshot.gif" width="200"/>
20+
**qml3DWater** | Qt3D/QML implementation of water reflection/refraction with Fresnel effect. | <img src="qml3DWater/screenshot.gif" width="200"/>
21+
**qmlBattery** | A Qt/QML element that displays the amount of energy left in a Battery as horizontal bars according to the charge. For demonstration purposes, the charge value is set dynamically and randomly from the C++ side. | <img src="qmlBattery/screenshot.gif" width="200"/>
22+
**qt3DRenderer** | A complete 3D Graphics Renderer that demonstrates how to load simple meshes from Wavefront files (with texture) and performs all the required transformations to project them on a 2D color buffer that is copied into a `QImage` object to be displayed with Qt. | <img src="qt3DRenderer/screenshot.gif" width="200"/>
23+
**qtArduinoSerial** | A simple C++/Qt example on how to print data from a serial (COM) port connected to Arduino. | No image available
24+
**qtFPSvsTIMEAnimation** | Super educational C++/Qt implementation of *FPS-based and Time-based animation techniques*, as explained by [Steven Lambert](http://blog.sklambert.com/using-time-based-animation-implement/). | <img src="qtFPSvsTIMEAnimation/screenshot.gif" width="180"/>
25+
**qtGLMdemo** | A customized `QGLWidget` that loads a 3D model from the disk using [Nate Robins GLM library](https://user.xmission.com/~nate/tutors.html) and renders it using native OpenGL calls. | <img src="qtGLMdemo/screenshot.gif" width="200"/>
26+
**qtKinectVideo** | C++/Qt application based on *Color Basics* from Kinect for Windows SDK 1.8. This demo displays the Color Stream of the camera. | No image available
27+
**qtLinearRegressionGD** | C++/Qt/Eigen implementation of Linear Regression based on [Daniel Shiffman's tutorials](https://www.youtube.com/watch?v=szXbuO3bVRk). Data is plotted with [Madplotlib](https://github.com/madplotlib/madplotlib) (Qt required). | <img src="qtLinearRegressionGD/screenshot.jpg" width="200"/>
28+
**qtLogoBlurGL** | A silly C++/Qt/OpenGL demo that renders a logo on a texture and displays a glow around it. | <img src="qtLogoBlurGL/screenshot.jpg" width="200"/>
29+
**qtSmoothColorTransition** | A C++/Qt application that takes a grayscale image and performs a smooth color transition using a predefined color palette based on linear interpolation. | <img src="qtSmoothColorTransition/screenshot.jpg" width="200"/>
30+
```

0 commit comments

Comments
 (0)