Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Computer Engineering Expert

Graphics - An OpenGL based GUI framework

1. Introduction-

The developer of Pervasive Intelligent Museum Management Systems (PIMMS) has recently decided to revamp the GUI framework of their custom API known as Advanced Reusable Software Engine. The rationale behind this endeavor is to create a more efficient, light weight and portable framework that enable its users to develop platform agnostic applications. One of the core requirements for building this new framework is to use OpenGL for platform independent rendering, so that a tighter UI integration with their 3D applications can be achieved. In this coursework, you are tasked to create and demonstrate an OpenGL based GUI framework. A basic OpenGL Windows application demo (OGLWin) is given to you as the base of your implementation. In addition to implementing the framework, you must also write up a technical report on the design and implementation of your framework. Your work will be assessed based on the quality of both components. Read the remainder of this document for the specific requirements for the GUI framework and the technical report.

2. Component I: An OpenGL Based GUI Framework

Framework Requirements -

A framework is a collection of reusable programming interfaces built for the purpose of application development. Contemporary software framework design often conforms to the object oriented paradigm. As such, a framework written in OO style often consists of classes and methods that are extensible by developers. A GUI framework serves a specific purpose of providing the capabilities of drawing GUI items and handling user interactions. On the top-level, the constituting components of a GUI framework commonly consist of the following:

  • Window Manager A window manager is responsible for managing (e.g. creation and deletion) resources allocated for GUI related items as well as handling user inter- actions.
  • Renderer A GUI renderer is commonly responsible for 2D drawing of GUI elements such as the frame of a window, buttons, texts and images.

3. Component II: Technical Report

In this coursework, you are required to produce a technical report consisting of no more than 1000 words on the design and implementation of your GUI framework. Your report should contain the following sections:

1. Introduction: You should concisely explain to the reader the purpose of this report and the rationale of the work you did. You should also provide an overview of the outline of your report to guide your readers.

2. Design and Implementation: This section should contain the design and features of your GUI framework. Both frontend and backend features should be included in the discussion. You should precisely explain the methodology and techniques used in the implementation.

3. Evaluation and Result: This section should describe how you tested your work. For examples, if your GUI framework is considered resource efficient, you must describe the tests/experiments you used to evaluate this claim. You should also present relevant data in this section to support the result of your evaluation.

4. Discussion: In this section, you should discuss the result of your work and truthfully describe the strengths and weaknesses of your work. You should relate the discussion to the evaluation and result presented in the earlier section.

5. Conclusion: This section summarise the entire report. You should remind the readers of your achievements and more importantly offer suggestions for future work/improvements. The purpose of this is to give yourself and the reader a direction if further improvements are to be carried out.

6. References: You must present a list of resources used in your work in this section. Valid resources commonly include articles, websites and textbook.

Attachment:- Assignment.rar

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M91964402

Have any Question?


Related Questions in Computer Engineering

Questionsuppose we are comparing implementations of

Question Suppose we are comparing implementations of insertion sort and merge sort on the same machine. For inputs of size n, insertion sort runs in 8n2 steps, while merge sort runs in 64nlgn steps. For which values of n ...

Question what are some risks of the project development

Question : What are some risks of the project development process you might encounter and what can you do to mitigate or avoid the problems? The response must be typed, single spaced, must be in times new roman font (siz ...

Be as specific as you can for the following questions

Be as specific as you can for the following questions, explain each concept in detail and how you arrive at your solutions. This is JUST as important as your actual answers. You are provided a unit square domain where th ...

Can someone design a small program for me in java that do

Can someone design a small program for me in Java that do the following: Implement at least four classes (showing inheritance) with suitable constructors and methods to set/retrieve values of from the properties. Try to ...

State the required answer precisely and then provide proper

State the required answer precisely and then provide proper explanation. It is not enough to provide one- word or one-line answers. Some early computers protected the operating system by placing it in a memory partition ...

Use the management studio to create a new database called

Use the Management Studio to create a new database called the default settings(If the database already exists, use the Management Studio to delete it and than create it.

Lnguage isnbspcgenerate a sparse vector class with

Language is  C++ Generate a sparse vector class with * operator, such as  Vector Vector::operator * (Vector& param) A multiplication (*) operators returns element-wise multiplication of two vectors in another vector. Giv ...

In linux what synchronization methods they use within the

In Linux what synchronization methods they use within the kernel, please dig into your findings for Linux.

Task create an array that holds 100000 random integers

Task : Create an array that holds 100000 random integers between 1-100000. Allow the user to enter an integer to search. Create and implement modified bubble sort algorithm which will sort the array before the Binary Sea ...

Taskthe first task is to create your business narrative

Task The first task is to create your business narrative. Some of the questions that you should address include (but are not limited to) the following. •What is the name of your business? •Who will be the users of the sy ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As