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.
|