Developing Pedagogical Software Describing Processes in Computer Graphics

Developing Pedagogical Software Describing Processes in Computer Graphics

Degree project Developing pedagogical software describing processes in Computer Graphics Authors: Juan Tomás Rodríguez Sebastian Hönel Date: 2012-09-04 Subject: Computer Science Level: Bachelor Course code: 2DV00E Abstract Students, and people in general, often have problems connecting Computer Graphics source code with its visual representation. Since Computer Graphics are in relation with our sense of sight, it is logical to assume that it is necessary to have an appropriate visual tool for teaching them. This tool that we called “Teach It Yourself” has been designed in order to help students (or/and any other people interested in the topic) to understand some basic concepts concerning Computer Graphics in an easier and a more natural way. The aim of this thesis has been to develop this tool using Java and OpenGL under the development environment of jMonkey, a game engine. It allows the users to specify different concepts in Computer Graphics such as textures, materials, lightings and shadows in a 3D scene. This thesis reflects on all the work of creating this educational program from the beginning and the choices we have made in the process. Key-words: Computer Graphics, jMonkey, platform, engine, pedagogical, teaching, 3D, OpenGL, Java, image, GUI, rendering. i TABLE&OF&CONTENTS& 1.&Introduction&..................................................................................................................&1& 1.1.&Motivation&...........................................................................................................................&1& 1.2.&Goal&criteria&........................................................................................................................&2& 1.3.&Outline&..................................................................................................................................&2& 2.&Background&....................................................................................................................&3& 2.1.&Literature&review&..............................................................................................................&3& 2.2.&Existing&similar&products&...............................................................................................&4& 3.&Approach&........................................................................................................................&6& 3.1.&Current&approach&using&a&game&engine&....................................................................&6& 3.1.1.&Game&engine&peculiarities&and&integration&.....................................................&6& 3.2.&Former&approach&..............................................................................................................&8& 3.3.&Criteria&.................................................................................................................................&9& 3.4.&Assessment&of&the&criteria&..........................................................................................&11& 3.4.1.&ABC&analysis&............................................................................................................&11& 3.5.&Candidates&........................................................................................................................&12& 3.6.&jMonkeyEngine,&the&chosen&candidate&for&the&application&.............................&12& 3.6.1.&Platform,&engine&and&community&of&jMonkey&..............................................&12& 3.6.2.&Features&....................................................................................................................&13& 4.&Requirement&Specification&....................................................................................&18& 4.1.&Introduction&....................................................................................................................&18& 4.1.1.&Purpose&.....................................................................................................................&18& 4.1.2.&Scope&..........................................................................................................................&18& 4.1.3.&System&overview&....................................................................................................&18& 4.2.&Overall&description&.......................................................................................................&19& 4.2.1.&Product&functions&..................................................................................................&19& 4.2.2.&Constraints,&assumptions&and&dependencies&..............................................&19& 4.3.&Specific&requirements&..................................................................................................&20& 4.3.1.&External&interface&requirements&.....................................................................&20& 4.3.2.&Functional&requirements&....................................................................................&20& 4.3.3.&Performance&requirements&...............................................................................&20& 4.3.4.&External&data&requirements&..............................................................................&21& 4.3.5.&Other&requirements&..............................................................................................&22& 5.&Implementing&our&new&approach&........................................................................&23& 5.1.&The&jMonkey&platform&(jMP)&.....................................................................................&23& 5.2.&Difficulties&we&faced&......................................................................................................&24& 5.2.1.&ProcessWexclusive&OpenGL&context&..................................................................&24& 5.2.2.&The&AWT&EventWQueue&and&jMonkeyEngine&threading&............................&25& 5.2.3.&A&replacement&for&the&vertical&accordion&.....................................................&26& 5.3.&The&application:&Teach&It&Yourself&...........................................................................&26& 5.3.1.&The&containment&for&the&panels&.......................................................................&26& 5.3.2.&The&panel&..................................................................................................................&28& 6.&Measuring&pedagogical&strength&with&a&field&study&......................................&35& 6.1.&Case&description&.............................................................................................................&35& 6.2.&The&questionnaire&.........................................................................................................&35& 6.2.1.&What&we&asked&.......................................................................................................&36& 6.3.&Evaluation&of&the&answers&we&got&.............................................................................&36& 6.3.1.&Mining&and&combining&the&results&...................................................................&36& 6.3.2.&Lessons&learned:&Comments&and&difficulties&................................................&38& 6.3.3.&An&approach&to&answer&the&question&of&the&overall&applicability&.........&38& ii 7.&Future&work&................................................................................................................&40& 7.1.&Including&a&mission&and&tasks&to&accomplish&.......................................................&40& 7.2.&Creating&a&community&website&..................................................................................&40& 7.3.&Simplified&controls,&improved&usability&and&i18n&..............................................&40& 7.4.&Extending&the&effects,&introducing&modes&.............................................................&40& 8.&References&...................................................................................................................&41& Table&of&Figures&.............................................................................................................&46& Table&of&Tables&...............................................................................................................&47& Appendix&A&......................................................................................................................&48& Appendix&B&......................................................................................................................&53& Appendix&C&.......................................................................................................................&54& Appendix&D&......................................................................................................................&55& Appendix&E&.......................................................................................................................&59& Appendix&F&.......................................................................................................................&60& iii 1. Introduction Computer Graphics is a growing field within Computer Science in which we research how the graphics are expressed, formed, handled and showed, as well as the methods for digitally synthesizing and manipulating visual content. They play an increasingly significant role in our lives, both practically and culturally. Nowadays everybody uses them almost without noticing of their importance: since an executive who uses slides to present sales information

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    70 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us