20160516 |
|
---|---|
20160517 |
|
20160518 |
|
20160519 |
For BoT, when rendering geometrical models in MGED, it will call rt_bot_plot(...)(about line 913 in bot.c), so changing the routines implemented in this function will generate different rendering results. |
20160520 | Diving into rt_prep(...) and focusing on code related to binary space partitioning. |
20160521 | Reading code about rt_shootray(...) and getting familiar with basic ray intersection pipeline. |
20160522 | Reading 'The Hacker's Guide to BRL-CAD', paying attention to some basic requirements and coding styles mentioned in this file. |
Summary | This is the last week of bonding period, actually, I almost finish all the preparing tasks listed in my proposal, including warming up in IRC, doing tests and verifications about plate mode for BoT, reading related documents and so on. From next week, I will pay much more attention to the internal data structure and functions used in the program and start coding. |
20160523 | Reading g_bot_include.c cause this file contains lots of ray-tracing related basic routines(and these functions are almost finally called when doing ray-tracing in BoT primitives). Besides, *thickness* values are primary used in static int XGLUE(rt_bot_plate_segs_, TRI_TYPE)(...). |
---|---|
20160524 | Understanding data structure for BoT and starting designing data structure for B-rep primitives in order to integrate some extra information like thickness value array and so on. |
20160525 | Discussing how to design the data structure of brep. |
20160526 | Going through source code of openNURBS and checking if we can integrate additional information, like thickness value, into its built-in data structure. |
20160527 | Getting familiar with openNURBS |
20160528 | Weekend |
20160529 | Weekend |
Summary | Actually, the basic task in this week is about how to design the data structure for brep primitives, after reading source code of openNURBS(opennurbs_brep.h), I found there exists a built-in variable both in ON_Brep and ON_BrepFace for storing user defined data, so we can consider to use it for our need and store *thickness* value into brep or each face. |
20160530 | Drafting a first version demo for generating plate mode brep primitives. |
---|---|
20160531 | Designing a new tool named 'brep_surf' and generating plate mode brep which contains only one face, by mimicing sample codes from 'brep_cobb' and 'brep_cube' etc. |
20160601 | Exporting and importing brep primitives. Cause openNURBS does not support archiving user defined data, so I need to write it manually. |
20160602 | Changing information related to outputing information when using 'l' command in MGED. |
20160603 | Discussion the availability of my code and trying to refine it later. |
20160604 | Weekend |
20160605 | Weekend |
Summary | This week, I mainly focus on plate mode NURBS export and import. Besides, in order to validate my code, I design a tool named 'brep_surf' to generate a plate mode single brep surface with thickness value provided by command line arguments. From next week, I will pay more attentions on ray tracing part. |
20160606 | Following ray tracing pipeline of BoT again and re-organizing my thought of the whole procedure. |
---|---|
20160607 | Paying attention to ray tracing method involved in BoT like 'piece_shot' and 'shot', they are different and will be called in different situation. |
20160608 | Reading code about how to build BVH for b-rep primitive, the related function is brep_build_bvh(...)(about line 353 in brep.cpp). |
20160609 | Chinese Traditional Dragon Boat Festival |
20160610 | |
20160611 | |
20160612 | Understanding the procedure of build bounding volume hierarchy(BVH) for b-rep primitives. |
Summary | In order to start to work on ray tracing of plate mode NURBS smoothly, I firstly re-organize the related codes for BoT, cause it is a good template to follow, and this counts for the preparation for my later work. |
20160613 | Reading related papers about ray tracing of NURBS surface(more details will be presented on this page) |
---|---|
20160614 | Designing a model and testing current status of NURBS ray tracing. |
20160615 | Comparing ray tracing behaviours in BoT and B-rep for preparation of later coding because my target is trying to keep them more consistent. |
20160616 | Considering more test case including ray starting from inside and outside the model. |
20160617 | Drafting an initial version of plate mode ray tracing. |
20160618 | Weekend |
20160619 | Weekend |
Summary | Generally, I read the related paper involved in the real implementation of ray-NURBS intersection computation and figure out the pipeline of it, then I follow the code and finish a rough version of plate mode NURBS ray tracing and submitted a patch. More details can be found on the blog, I run lots of tests and get some results. |
20160620 | Discussing and preparing for mid-term evaluation |
---|---|
20160621 | |
20160622 | |
20160623 | |
20160624 | |
20160625 | Weekend |
20160626 | Weekend |
Summary | Making a short summary of what I have done till now and preparing for mid-term evaluation. Because I have submitted two patches which cover all my work in previous several weeks, so I need to move on and plan to do something else like tessellation. And more details can be found on my blog, I run a lot of tests and evaluations. |
20160627 | Doing research on tessellation of NURBS and reading related papers(more details on the blog), actually this paper is recommended on the official website. |
---|---|
20160628 | Reading the code of old implementation of NURBS tessellation(about line 59 in nurb_tess.c and line 595 in bspline.cpp) and surface tree subdivision(about line 1019 in opennurbs_ext.cpp) |
20160629 | Discussing with brlcad about how to test my implementation about plate mode NURBS raytracing |
20160630 | Busy with my summer school course assignments |
20160701 | Busy with my summer school course assignments |
20160702 | Weekend |
20160703 | Weekend |
Summary | Discussing with @starseeker and @brlcad for ideas about further testing of plate mode NURBS ray tracing, and focuing on more complex models like surface with trimmed curves etc. Besides, learning Ayam on how to model and some other tools built in MGED with regard to testing. |
20160704 | Designing a tool to transform old represented b-rep model into my new format(integrating plate mode information) |
---|---|
20160705 | Constructing new models for further testing, still working on this. |
20160706 | Learning how to use gqa |
20160707 | Designing several examples for testing(both BoT and B-rep), generally, they should represent same shape but different format, one is bag of triangles and the other is NURBS surface. |
20160708 | Using Ayam and 3dsmax(Ayam can generate b-rep model while 3dsmax BoT) to design several simple case for testing(like single plane and hemisphere). |
20160709 | Weekend |
20160710 | Weekend |
Summary | Cause during this week, I am busy with my summer course, so I pay less attention on it. What I have done is that I make a short plan for further test, and learn how to use gqa as a quantity measuring tool(but actually, I do find some problems when using it, please refer to my blog for details). Besides, I use Ayam and 3dsmax to design several simple similar models in order to do the comparison. |
20160711 | Figuring out why *gqa* does not work well on several examples. |
---|---|
20160712 | A short analysis of gqa. Is it really accurate? |
20160713 | Using obj-g to generate 'plate-nocos' models, but this tool gives 'memory leak' error. |
20160714 | Generating sphere and plane again and testing gqa agin. |
20160715 | A validation of my assumption before(please refer to the details posted in Week 7 and 8) |
20160716 | Weekend |
20160717 | Weekend |
Summary | I figured out why the volume of (same)planes generated by BoT and B-rep are different, and it was caused by type of BoT('plate' and 'plate-nocos'). Then I used obj-g to get several models from *.obj, it gave me memory leak error, then I fixed it and generated several simple models like plane and sphere. At last, I used gqa to check the volume, it gave similar result. |
20160718-20160803 | Visiting and attending SIGGRAPH 2016 held in Anaheim, Los Angeles, CA, US |
---|---|
20160804 | Using openNURBS API to generate trimmed B-rep surface and validate ray-tracing routine |
20160805 | Testing 'rtshot' result of trimmed B-rep surface, it works well. |
20160806 | Weekend |
20160807 | Weekend |
Summary | Cause I am stuck in the numerical test of plate mode ray tracing in these days, so I am thinking about whether it is enough for the ray-tracing test, so I design two trimmed B-rep models and run the ray tracing procedure, it turns out the results seem to be acceptable. I am currently looking for other extreme cases for further testing. |
20160808 | - |
---|---|
20160809 | - |
20160810 | - |
20160811 | - |
20160812 | - |
Summary | - |