Jump to content
  • Advertisement
Sign in to follow this  

OpenGL Help to choose a thesis

This topic is 2560 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts


I have to choose a thesis for my Msc. I would like to get some opinion about which is the most interesting to breakthrough in video games.

Terrain Modelling
The MSc project is to produce simulation software for a potential portable site survey device to assess accuracy.

The range in size of terrain requires that more than one method of determining position and height be used. This MSc project will provide simulation software for use on sites whose sizes range from 100m to 1Km (Approx.). It is proposed that, for sites with these dimensions, the method to determine position is the Geographical Positioning System (GPS) and that a barometric method be used to determine height.

The device simulation software should provide facilities as follows:

(1) Model terrain from files containing sets of points representing the surface of the terrain. The sets of points will represent arbitrary surfaces and real terrain taken from maps and surveys carried out with a proprietary GPS device (Garmin Summit).
This will involve implementation and comparison of algorithms for triangulating and/or approximating (x,y,z) terrain data sets.

(2) Provide facilities for volumetric analysis of all or parts of the terrain.
(3) Provide facilities to determine surface characteristics of the terrain.
(4) Provide facilities to display the terrain in a number of aspects.
(5) Provide an assessment of the accuracy of measurement attainable with the
GPS/barometric combination.

The simulation software can be developed in either C++ with OpenGL and MFC or Java with Swing and Java3D.

An Exploration of Recursive Subdivision Surfaces in a Solid Modelling Environment
A quick introduction for those who do not know what recursive sub-division is about … imagine a curve consisting of a set of points joined by straight lines, if you replace each point by two new points positioned either side of it a certain proportion of the distance along the line to the adjacent point, you will end up with twice as many points and a slightly “smoother” curve made up of shorter line segments. If you repeat this process several times the set of lots of little lines begins to appear to become a smooth curve, and if you take the limiting case …? A similar technique can be applied to generating surfaces. These are known as recursive sub-division surfaces and have been around for around 30 years. However, it was not until recently that practical applications were feasible because of the severe computational and memory requirements of such geometric models.
As with many developments, recent advances in the speed and memory capacity of computers has enabled these types of surface to become a serious possibility for practical use. They have some significant advantages over the currently favoured NURBS and related surface types, but of course still retain certain drawbacks for practical implementations at the moment. This is an area of significant research interest, but this MSc project is about what can be done with the current state of the art.

The proposed MSc project will focus on making a simple implementation of a particular type of subdivision surface with the environment of a solid modeller. The modeller would play the role of a “host” program with a “parasite” piece of software which implemented the subdivision surfaces. Thus the modeller could be used, for example, to facilitate the creation of the defining data for the surfaces. The interesting issues concern the extent to which existing functionality within the solid modeller can be re-used and the extent to which the subdivision surfaces can be integrated into it. Thus an essential part of this project would be the development of a software demonstrator. The implementation will be carried out using some existing prototype software which implements sub-division methods, Visual Studio, OpenGL and MFC.


Variational Methods for Finite Element Analysis using B-splines
The use of energy based methods and variational principles is widespread in structural mechanics and can be used to solve specific problems in curve and surface design. The B-spline representation is standard within CAE systems for modelling complex curves and surfaces. This choice of B-splines as solutions is quite natural when piecewise polynomial behaviour and user controlled cross segment continuity is required.

The aim of this project is to investigate methods for solving problems in FEA, such as beam and plate bending, heat conduction, volume dispersion using B-splines as a basis in 1D, 2D and 3D. This work will build upon some existing C++ classes and algorithms that have been developed for solving general problems in modelling and finite elements analysis using functional minimization principles. The project will include the development of a graphical package using OpenGL and MFC.


Forward integration of simultaneous ordinary differential equations, with graphical output
A common problem in many branches of physical science is the prediction of the behaviour of a system as it evolves over time. In many instances the system can be characterised as a series of simultaneous ordinary differential equations (linear or nonlinear), and a well-established numerical technique for their solution is the Runge-Kutta procedure and its variants. The project is to devise a graphical application that allows the user to define the equations and the order of the Runge-Kutta scheme, and to implement the solution with an adaptive approach to the time-stepping. (This means select appropriate large timesteps where derivatives are slow-varying and small timesteps where they are fast-varying). The results of the integration should be displayed dynamically, with appropriate user choices over which variables are displayed. Also tabulated values should be written in an Excel-readable form.


Curve and Surface Approximations for CAD
There are many occasions in a CAD environment when it is useful or necessary to use curves and surfaces that are defined implicitly, that is for which there is a recipe for computing points and derivatives on the geometry but for which there is no parametric formula. This means that such a curve/surface cannot be represented exactly in NURB form. In such a situation it is highly desirable that a NURB approximation can be formed allowing for proper integration within the CAD model and data transfer using IGES/STEP etc.

This project involves the development of a prototype application for the approximation of geometry defined in terms of an evaluator for points and derivatives by NURBS. The application can also integrate IGES data transfer of the resulting geometry for display in a CAD package.

The code will involve some algorithm development based on an existing numerical technique for approximation, visualization and CAD integration using OpenGL/MFC.

Supervisor: P. Sherar

Quantify printed graphs
Anyone involved in the assessment of experimental data from published sources will be familiar with the irritating problem of trying to read off ordinate (“y-axis”) values of printed graphs for given “x-axis” values. This project aims to solve this problem.

The task is:
• Accept a scanned image of the graph from the printed page
• Rotate, as necessary, to align graph axes with screen x- and y-axes
• Extract numerical and textual information from the axes (text recognition) and hence define relevant scales (pixels per unit interval)
• Sample the curve (or curves – pick with mouse if more than one?) at suitable intervals
• Tabulate
• Give user the option of :
? EITHER select from a list of pre-defined functional forms and provide best fit by regressional analysis with appropriate quantification of “error”
? OR cubic spline interpolation
• Implement as an Excel macro or otherwise interface with Excel (e.g. by dumping tabulated data) and devise a routine that interpolates the curve fit to give the “y” value for an arbitrary input “x” value (issuing a warning if the “x” value is outside the range of the original data).

Supervisor: XXXXXXXXXXX[/quote]

Thx !

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!