Previous Home Next

Appendix 1. Log book

Date

Description of Task “Achievements and Problems”

3rd June 2001

4th June 2001

Researched available 3d technologies and judged their suitability for the proposed project. Following technologies were reviewed: 3D formats/ languages: VRML, X3D, VTK, SHOUT3D, Java3D; 3D Browsers: J3Dfly, Cosmo Player and Sony Common Place.

5th June 2001

6th June 2001

Selected VRML 3D format and tested integration of Java (JDK 1.3) with VRML. Initial investigation lead to using available VRML browsers with Java in the background. VRML Browsers provide the rendering engine and capability to investigate or walk/ fly in the virtual environment. As the source code for the browsers was not available, customization of the browser interface was not possible. It was also not possible to make the browser window, a part of the application window. Hence it was considered unsuitable.

7th June 2001

Selected Java3D to read and render VRML format to produce necessary geometries. This gives a rendering engine along with complete access to low-level data of all the features (geometries, walk in the virtual environment, associating information to geometries etc.). Java3D was successfully integrated with Swing.

8th June 2001

VRML file was successfully exported to allow Java3D to render the geometries, textures and lights. Colour information shows Gouraud shading, but textures don’t. This drawback (not seen in commercial VRML Browsers) will be handled if time permits. Multiple loading of VRML files was also tested successfully.

10th June 2001

Created keyboard navigation behaviour (for walking/ flying in the virtual environment). Camera clipping and scheduling bounds problems were solved. Some basic information on XML was gathered. Collision detection and terrain following is yet to be addressed. Viewing platform is worm’s eye view. It should be at human eye level (~1.65m). Panning not yet possible. Similar Mouse navigation behaviour should be possible.

11th June 2001

Created facility to select a visual object for examination (translate, rotate and zoom using mouse) in the same viewport. Opening the corresponding detailed model of the selected model in examination viewport yet to be implemented. Created a facility to read low-level data of Shape3D by mouse picking a visual object.

12th June 2001

Created first format of dissertation with titles. Started design of implementation with simple implementation tests. Background reading on XML.

13th June 2001

User actions and corresponding system actions recognized and documented. Documented the file format in XML. Some refinements may occur during further implementation tests. Conducted simple test on retrieving data from XML file.

14th June 2001

Worked on implementation design with some practical tests on opening a file of type XML using Swing.

16th June 2001

17th June 2001

Designed a simple implementation class diagram to open a file and display the first elements in appropriate viewports. Worked on implementation of opening of XML file and related wrl and text files. Can successfully open the first file, but if another file is opened, earlier visual objects are not completely removed.

18th June 2001

Problem was identified with the usage of Enumeration class with “Locale” method of “removeBranchGraph()”. Only alternate Branchgroups were being removed. Problem is fixed and successfully tested implementation of opening files. Another problem identified was modification of viewPlatform branch graph. This was removed and added with every open action. This was fixed.

19th June 2001

Tested implementation of freeing up resources by removing all existing branchgraphs after quit action. Achieved access to the lowest level nodes (shape3ds) in a vrml file. Tested implementation of double clicking on various shape3ds in the navigation viewport from the read xml file. Clearing the text viewport implemented and tested. Problem encountered with Heavy weight and light weight components at MenuBar and Examination viewport.

20th June 2001

Arranged dissertation chapters. Refined implementation design along with Scene graph diagram representations. Some work on user interface design.

21st June 2001

Meeting with Steve

23rd June 2001

Cleared exam viewport when file is opened. Problem encountered with Picking where exception was thrown when picking a non-live Branch group. This was fixed.

24th June 2001

Created a new test file (xml and vrml), which is almost as good as the proposed prototype. A problem was encountered with usage of primitives in MAX. This was solved by collapsing the primitives to editable meshes. This imposes a constraint on the editor. So it would be better to handle this situation in the program. Clicked object can be identified by using “userdata” for each shape3D.

25th June 2001

Trials on opening an identified double clicked visual object from the navigation viewport in the examination viewport. Visual objects are shown correctly, but examination behaviour does not work. Speed of opening even a very small wrl file is quite low. Need to optimize maybe by using media tracker. Major optimization of code is required (e.g. filename is stored in NaviPanel, ExamPanel and ImagePanel!!! Is this really a burden?) Antialiasing to be addressed at a later stage.

26th June 2001

Fixed examination behaviour of identified detailed visual object. But the visual object does not rotate around its center of gravity. Detailed visual object can be identified by userdata. Study of St. George’s Church drawings. Research on more information for database.

27th June 2001

Made some changes in the User Interface (changed the location of Navigation, Image and Examination Viewports). Added clearing of examination viewport.

28th June 2001

Implemented showing of intro image when file is opened. Double clicking on the images viewport opens a new window to show a bigger image. Very slow. Need to use media tracker for images. Media Tracker supports only images. Hence need to use j3f format for loading models. Maybe extract all the shape3d’s from the vrml file right in the beginning.

29th June 2001

Polished user interface.

30th June 2001

Implemented identification of which viewport is active (by drawing a rectangle around the viewport when clicked inside the viewport and removing it when mouse exits the viewport). Ideally when a viewport is clicked, the earlier active viewport should deactivate.

1st July 2001

Implemented “extraction of textual information relevant to the clicked visual object from a txt file and showing it in the text viewport. Both, the low level and the high level detail visual objects when double clicked in their respective viewports, the relevant text file is identified and its contents are displayed. The low level vis-obj text and related image should be displayed automatically. All clearing actions (examination, image, text and all three together) are now implemented.

2nd July 2001

Identified some exceptions, which are thrown if double clicked on a blank image viewport. This was fixed. A new window (for viewing bigger image) is opened only if there is an image in the image viewport. Similar exception was identified where double clicking on an empty Examination viewport. This was fixed. Implemented displaying of relevant image in the images viewport when a detailed visual object is double clicked. Need to optimize XMLReader class. There is too much repitition of code.

3rd July 2001

Meeting with Mr. Jeff Ingram

Study on bounding objects for automatic retrieval of information to be shown in text and images viewports.

4th July 2001

Research at “Sheffield Archives” for history of selected structure. Realized of how difficult it is to get the required information. “History” of structure is located in “Sheffield Archives”. Some drawings are located in the Directorate of Planning and Economic Development and English Heritage while some drawings with Univ. of Sheffield’s Estate Department, while some with the Architect responsible for any alterations. Made alternative GUI designs. Optimised XMLReader class.

5th July 2001

Tested simple working of bounds behavior. The behavior gives an output when the camera enters a defined area.

6th July 2001

Implemented converting vrml geometry to bounds. A problem was identified in the placement of bounds after reading the geometry from a vrml file. This was fixed by using each shape3d’s transform (parent) and applied again. Finally, successfully implemented identification of bounds in Navigation viewport and displaying the appropriate text (from the text file) in the text viewport. Similarly Images should be displayed automatically.

7th July 2001

Optimized XMLReader class by making most of the methods static. File store was also centralized in this class, and removed from each container class. Problem encountered with updating of Images in the images viewport when double clicked on a visual object in navigation viewport. This problem does not occur for similar action in examination viewport. This was fixed (images were stored in other folder!!). Problem encountered: When the camera enters the bounds, sometimes it gets thrown off. This could be because of keyboard navigation behaviour.

8th July 2001

Added facility to change the height of the camera in the program code (has to be adjusted in y-axis!!) Implemented toggle of auto text and image display. Implemented viewing of images when double clicked on a visual object, if images/text auto display toggle is off (only one button for both). Then, implemented different combinations of image and text toggles with appropriate actions for double clicking (see “using viewing toggles” in implementation). Confusion on how to use toggles from user’s point of view. Scaled test model 10 times. Need to scale it 10 times more for achieving centimeter model. Also need to test millimeter model to check keyboard navigation speed.

9th July 2001

Visit to Local Studies Library. Got ordnance survey plan for St. George’s Church. Meeting with Steve. Confusion on toggle cleared out by inverting the behaviors (default was set to “ON”). Implemented Gouraud shading of textures. Devised a name for application. (ARCHERR – from “Architectural Heritage Referrer” - hit the bulls eye while finding information)

10th July 2001

Implemented Splash Screen successfully. Need to create a new Image for splash screen and icon for ARCHERR. Trial on mouse navigation in Navigation viewport, but no success. It was decided not to separate out behaviors for zoom and rotate in the Examination Viewport, since it was discovered that key combinations are provided in the mouse pick rotate and pick zoom behaviors. So a user with single mouse button can successfully rotate or zoom. But may implement this at a later stage if time permits. Trials on optimization of image loading.

11th July 2001

It was discovered that media tracker takes a lot of time to load all the images for the first time (during file open) where as without this, the application works quite well if there is no scaling. Hence it was decided not to use media tracker. Large images can be viewed quickly. Small images take time due to scaling. Hence still need to separate out small and large images for optimal performance. Implemented Next and Previous image viewing. Still need to incorporate facility for viewing other images and orthographic drawing images. Started work on implementation of category text viewing. Redesigned the UI by repositioning the viewports. Identification of viewport activation/ deactivation to be refined (maybe use focus listeners). Designed splash screen and icon. Need to design buttons.

12th July 2001

Completed implementation of category text viewing. Many exceptions to be handled to avoid multiple errors, especially vrml syntax and file not found exceptions. To be done before testing. Problem identified with Next & Previous images repetition (when next is followed by previous or vice versa). This was fixed. Toggle button selected background is not good.

13th July 2001

Successfully implemented distance finding facility in Navigation viewport. User can select two vertices accurately and on selection of 2 vertices, the distance is shown. Need to implement removal of selected vertices after “find dist” is off. Also need to incorporate this facility in examination viewport.

14th July 2001 to 17th July 2001

Started with building of model of St. George’s church flats. Electronic plan drawings were taken as the base to start with. Heights were extracted from drafted drawings by manual scaling. No heights were available for the tower, hence they were judged from the photographs. The model is not very accurate but since this not being the purpose, it is acceptable.

18th July 2001 to 20th July 2001

Finished building model in AutoCAD (only structure – no landscape yet). Tested exporting to MAX for texture application, lights and cleaning up. Close-up digital photographs of the stone material were taken at site and then textures were created in CorelDraw. Model consists of approx 237,000 polygons. Hence need to cut down on the polygon count. Also need to split the model into smaller files depending upon the text and images details and create its high detail models. Some textures (e.g. doors) were extracted by taking close-up details at the site. Landscape (road, compound wall, lawn etc) is yet to be built along with trees (as images with alpha).

21st and 22nd July 2001

Constructed Landscape. Trees yet to be dealt with using alpha. Identified splitting of the visual objects according to the availability of text and images details. Photographs of gravestones needed. (A good idea to give information about the location and identifying information on the graves). VRML File size is expected to be big. To reduce this, repetitive visual objects can be instanced (3DS MAX terminology). This drastically reduces the file size depending on the number of repetitive visual objects. This feature was successfully tested by loading such a vrml file.

23rd July 2001

Meeting with Steve. Started optimization and splitting of the visual objects into manageable visual objects.

24th July 2001

Collection/ Scanning of further data on St. George’s Church. Continued process of optimization.

25th July 2001 and 26th July 2001

Visited Local studies Library to find more details on St. George’s Church. Much text-based data was found in various books. Listing was also found which proved to be very useful to complete the categorized text. Also visited the Main Library, but nothing substantial was found.

27th July 2001

Experiments were conducted on reduction of polygon count. It was found that when AutoCAD dwg is exported to MAX the accuracy could be controlled via Surface Deviation factor. Various values were tested out. Finally, a value of 3 proved very suitable for reducing the polygon count as well as not losing detail (especially curved visual objects). A value of 0.5 was used to export the earlier model. This generated a huge model. So this made the already carried out optimization process (converting repetitive visual objects to instances of one another and removal of unwanted, duplicate and unseen polygons) useless. Hence need to do much of the optimization again!!

28th July 2001

The new model was generated and optimized to bring down the polygon count to 120000 without any loss of detail. Yet this is too high for J3D real time rendering. Some benchmarking was carried out using J3Dfly program (VRML browser from Sun using Java3D) to check out possibilities in getting a good frame rate. 120000 polygons gave 0.9 fps(very poor indeed!). But this model will be used to create separate visual objects as detailed visual objects for examination. A reduced model (~36000 polygon) was created. But this still gives 1.3 fps. Further possibilities in benchmarking to follow.

29th July 2001

A simple model with ~36000 polygons, 6-11 different textures (combination of 1-sided or 2 sided, hi-res or low-res) with 2 lights was bench marked and the following conclusion was derived:

1.        Frame rate becomes 2.75 times if 1-sided textures are used over 2-sided.

2.        Frame rate becomes 2.7 times if low-res textures are used over hi-res.

3.        There is not much improvement in frame rate when number of textures is reduced (true for 1-sided textures, not checked for 2-sided textures).

Number of polygons play a major role in improving the frame rate. Less polygons have higher fps (36000 polygons – 9.8fps, 28000 polygons – 13.3 fps).

See “frameRateBenchmarking.doc” for details.

Will the fps get affected if there are two Canvas3D’s running?

30th July 2001

Reduced number of polygons to ~28000. All visual objects were checked for single-sided textures. The model was split into small parts according to availability of text and images information for proper double clicking and identifying the visual objects for relevant information retrieval.

31st July 2001

Started creating XML file for St.George’s Church and testing it in the application.

1st Aug 2001 to 3rd Aug 2001

Started creating detailed visual objects and rectifying small mistakes (flipped faces, texture corrections, modifications in visual objects etc). Also started writing part of final dissertation. Grouped visual objects were tested, but this does not work properly due to export of VRML groups to Java3D. Bounding objects (sensors for automatic retrieval of data while navigating) were added and rectified. FPS is not affected if there are two Canvas3Ds running.

4th Aug 2001

5th Aug 2001

Completed final text for St. George’s Church and completed making detailed visual objects. Some information on graves and buttress needs to be added in order to make the data complete for usability testing. Toolbar buttons were designed and implemented successfully. Examination viewport was given orbit behavior instead of pick behavior, as only one visual object (out of collection of visual objects forming one detailed visual object) was being rotated/zoomed/translated. Orbit behavior was successfully customized for speed and direction of rotation, zoom and translation. Application is almost ready!!

6th Aug 2001

Meeting with Steve. Fixed distance measurement (units were not correctly shown and there were too many digits after the decimal point). Created simple text buttons. But these still seem unsatisfactory. Created facility to view multiple text panels simultaneously. Allowing multiple text windows seems advantageous from user’s point of view. Similar effect was given to the Big image viewport. There seems to be a problem with multiple text windows. When there are more than one windows open, and if the first window is closed, all windows close. Some tests were carried out to work out a suitable scheme to give feedback while loading a file or when some data is being loaded when something is double clicked.

7th Aug 2001

Lighting of the navigation vp was checked and rectified. The geometry is more defined now. Details of Buttress and graves were added. The buttress proves the importance of examination vp. Splitting of small and large images was tried unsuccessfully. Added facility to show which visual objects can be double clicked to find more information. This facility is in terms of a wireframe cuboid around all the clickable visual objects. This can be switched on or off through a toggle button. When switched on, the “find distance” and “double clicking” facility is disabled (even if they are selected) for simplicity.

8th Aug 2001

Created a method to give feedback of progress when opening a file and when a visual object is double clicked. Currently JWindow has been used to display the loading message on top of the main application window. But this is a slight problem since the feedback window opens at the same position even when the main app window is moved to some other location. A better option would be to use progress bars. But this would require the system to be redesigned using threads. The wireframe display of cuboids around clickable objects did not seem to be a good solution because of cluttering of wireframe objects. Hence, another method was tried. This method displays the name of the object in a small window (JWindow) when the mouse is moved and it identifies a clickable object. This too gives a lot of flicker and the popup is fixed in one place rather than exactly below the mouse pointer.

9th Aug 2001

Redesigned tool bar buttons to give better visual information. Sent © request to Local studies and PW&MP. Composed a few elements of the usability test questionnaire. Usability tests with two students (one from archeology dept. and the other from comp. Sci. dept.) will be conducted on 13th or 14th Aug 2001.

10th Aug 2001

Created the help menu (Manual, About and contact). The manual button opens the default browser and shows the user manual. User manual yet to be composed. The About button gives some information on the project. Contact button is used to give feedback through email. Clicking the Contact button opens the default mailer program (only on windows). Discovered a bug (jdk 1.3.0) with displaying tooltips on Canvas3D. This is fixed in the latest version of JDK 1.3.1.

11th Aug 2001

Created thumbnail image viewing facility. It was considered that the next and previous image buttons to be very confusing. The thumbnail viewing more than makes up for these buttons, hence they were removed. The thumbnail images viewer shows all the images in the data set (main images, closeup images and orthographic projection images) with a facility to open multiple bigger images by clicking on each of them. Created rollover images for toolbar.

12th Aug 2001

Updated distance facility to show actual distance, distance on x-axis, y-axis and z-axis. The orientation of z-axis as used by j3d is a bit unnatural but this can be explained in the user manual. Updated images for a few parts of church (some are still not available). Added site plan ortho image and north on the site plan and main plan. Fixed the problem of all text windows being closed when the first one was closed. Added Text viewport identification when mouse pressed. Experiments on making image display faster by using media tracker and one big image instead of small and big image. But this turned out not to be a good solution as the smaller image takes irritatingly long time to show up although the big image shows up instantaneously. It was decided not to use the later experiment. It was also found that most of the times the earlier method does not show images as quickly. It is suspected that the problem is related to the machine (or jdk 1.3.1) because in some very rare cases the image does show up quite quickly.

13th Aug 2001

Started writing the dissertation report (figured out contents of each chapter to some extent). Some experimentation was done to locate the source of slow image display. A small test file was made to see whether the application was causing the problem. The result of the test was as follows: the loading time is quite fast (as displayed in dos prompt) but after the image is completely loaded and available, it takes more than 8 seconds to display (paint) an image on a JPanel. Hence the application design is not the cause. Sources from java mailing list say that this shouldn’t be the case for a small image of 120kb. It is suspected that there could be a machine problem (corrupt windows file), hence the same test file will be used to test on another machine tomorrow. Made a list of exceptions to be handled (part of testing) before usability. Usability tests have to be postponed until the slow image display problem is solved. Started some work on user manual (how much to stress on user manual?).

14th Aug 2001

Inquiry on © for using text based material at Local studies library. Permission not required if using less than 10%. Crack down on the problem of slow image display. Big image takes more than 8 sec to display after being completely available in the buffer. To prove that the problem was machine-specific, HDD was formatted and windows’98 was reinstalled. Yet the problem persisted. Hence source of problem is yet unknown. It is now suspected that java3d causes a major slowdown in display of buffer as a test file without the use of j3d, displays image very quickly. This is yet to be confirmed. Finally a work around was devised (use image icon in JLabel) which actually proves to be an advantage(can use text under the image but not implemented at this stage). It is still unknown why ImageIcon works faster than Image.

15th Aug 2001

System is almost ready for usability testing (except for few exceptions to be handled and user manual). Tried to install the application in LAB but the configuration was found unsatisfactory (only 8MB VRAM with no OpenGL support).

16th Aug 2001

An attempt was made to catch and handle all possible exceptions that could be generated. All possible testing cases were listed and tests were conducted to check for any holes.

17th Aug 2001 onwards

Demarcation on the end of implementation process and commencement of dissertation compilation.

25th Aug 2001

Usability tests by one student from architecture, one from archaeology, one from computer science and one from business management, all being postgraduate students.

 

Previous Home Next