Sticky Postings
Nearly a fourth of February has already passed, but here it comes, the review of January.
Continue reading "To Do in February"
Monday, February 8. 2010
I didn't do a lot on the program today, but this time not because I didn't have time, but because I don't know how to continue with an issue. Up to now I have stored a point between (0, 0) and (1, 1) for the operators and scaled the coordinates with the available space. But that is useless, resizing the window lets everything move closer together or futher apart, but the elements stay the same size, so that won't work (I have machines I do modeling on with quite different sized displays). So I thought about it today and have not yet come up with a good way to do it. I think it makes sense to store the position of the operators in the editor in pixel coordinates. I also think, that the program should keep track of the bounding box so I can request enough space from the UI system. I don't want to add a function to calculate the bounding box, because it would do a lot of redundant operations the draw function already does. So I guess it is best to let the draw function update the bounding box and check after drawing if I need to request more space. I will try to implement that tomorrow and see, if I also need to store the bounding box. I think it will also make sense to always make the bounding box a bit bigger so I have space around the diagram as it is probably hard to interact with the elements if they are right at the window boundary.
Sunday, February 7. 2010
I should work on the Channel Shader, but this week a colleague from work made a remark about the poor visuals of my walls. The problem is, that he is right or rather was right. Today I implemented a quite flexible component for my old shader system which can use Perlins turbulence function to create rough surfaces. I hope the next image where a wall appears looks better. And tomorrow I will continue with the Channel Shader.
Saturday, February 6. 2010
Today I made quite some progress, the addition of menus worked as intended. I had to extend some interfaces and change some internals of my UI-toolkit, but it wasn't very complex, just a lot of small changes. Then I added all the necessary parts to create a new operator, so now I can add new types and even use them. I also added a new operator class which will represent the result of the shader, I still have to add a bit to one function to make it impossible to delete it. While playing a bit with the new functions I found and fixed some smaller problems. The biggest was, that the properties dialog didn't update when the selection changed. I have fixed that as well. So next is the addition of the channels to connect the operators. Then most of the boring stuff should be done and I can start with something more interesting, evaluating the operator graph and adding new operators.
Friday, February 5. 2010
Today I added the feature to move the operators in the channel editor. Then I wanted to add a menu to the editor to make it possible to add operators. But I found out, I have never given the vector graphic editors that functionality. I will first have to extend the UI-toolkit again. I hope it won't be a big change, but I was quite sure I had done the necessary stuff in the past. Then I will add the ability to connect the pins of the operators and have to add another operator (defining the Phong shader) and then should be able to define a very simple shader with this thing. So I guess I can soon start to actually implement the evaluation in the OpenGL-renderer and in my raytracer.
Thursday, February 4. 2010
Nothing much to write about today, I have managed to pass the DTD to the parser and it found some bugs (e.g. I had misspelled "EMPTY" as "Empty"). Then I added some code to handle the first tag and extended the documentation of the parser class. I also had to extend the DTD slightly, I had forgotten a small detail. The track textures are built from a number of slices, some have a fixed width, others just fill some space between other slices. I need to be able to define alignment of fixed width slices to be able to for example put one exactly into the middle. So I added two attributes, one defining what part of the slice to align to which percentage of the track width. I hope I now have all the attributes and can finally just implement the parser and then the object to receive the specifications. After I have also modified the program so it can actually apply the specifications I will have to define (and draw) a more complex example of a track texture.
Wednesday, February 3. 2010
Didn't have a lot of time today, so I only extended the UI of one of the operators. I will try to get the movement stuff into the program on Friday, but perhaps I will instead write the "to do list" of the month, I haven't even started with it.
Tuesday, February 2. 2010
Today I finally continued with the Channel Material. I deviated a bit from my plan and didn't implement moving the operators, but instead added the property dialog for them. Next is the movement stuff, I think it will be fairly easy to implement. I will also slowly start to add more UI elements to the editor, I need a way to create the operators.
Monday, February 1. 2010
I have created some more faces for the clock and also played a bit with the color and material of the rim. I like the first one, the very simplistic face and the black rim look quit elegant. The second also isn't bad. The red plastic material is a bit bright, though. Then I tried brass for the ring. It is showing a problem with the model, the segments start to show. Perhaps an area light would help. Also the marks are too big when used together with the numbers. That is true for all the following faces. Next I used twelve marks and four numbers. I also returned to a gray rim. The numbers look too small, but actually the marks are too big. I think this could look quite good with smaller tick marks. I will probably try that. And finally with hours and minutes marked and the twelve numbers.
Sunday, January 31. 2010
 Nearly didn't make it this month. I had some problems with my netbook (spilled some liquid over it on Friday, I still have to clean the keyboard, I was just too frustrated to do it today) I use for modeling. But I still managed to finish this wall clock. The wall is a bit dark or rather the exposure is not correct (slowly my models behave more like reality, so I should use my photography skills).  I think it came out very well. There are still some problems with the clear cover you can see in the image to the right. Where the surface has a vertex there is some disturbing reflection. I think I have to do a bigger change to fix that, I think the best way would be, if the object wasn't a polyhedron at all. I should directly render the object as a rotation surface made from a spline. That way there would not be any hard edge. But I think I get much better at modeling and defining materials. Both images are linked to bigger versions.
Saturday, January 30. 2010
Today I finished most of the selection framework for the Channel Material editor. It is now possible to select an operator and the selected operator is indicated by a red frame around it. I needed to write quite a bit of code to get that implemented, but I still hope I get the framework stuff (or at least most of it) finished tomorrow.
Friday, January 29. 2010
I haven't worked a lot on the Channel Material today, but at least I have started to add selections to the material editor. The editor component is mostly finished (easy with copy and paste) and the next step is to create a class for the selections and make the material return those selections. Then I need to implement a transform function and some mouse handling. And then moving of the operators should work.
I have been working on a wall clock for some days and Wednesday tried to do the hands. I used a real wall clock as reference and like the hands, they have a small ring where the axis runs down to the motor. I would like to add a similar ring to my hands and found out, that I couldn't easily do it. I had started to model the hands as a rectangle, but my program makes it very hard to create a ring in that way. Fixing that would be quite hard, so I intend to do it in an easier way. So today I extended a special constructor for 2d elements to be able to create a ring. Nothing big, but I will try tomorrow to get the hands fixed by starting with a ring and then add some rectangles. I think it should be fairly easy and then I only have to paint the face and should be done with another small object. I think it was a good idea to model two small objects per month. That way I at least use the program regularly, get a lot of small bugs fixed, get ideas for small missing features and even get some objects.
Thursday, January 28. 2010
Finally a day where I did get some stuff done. I have finished defining the DTD for the track texture files. I have also created a very simple file containing only a single very simple track texture (basically it will result in the same texture I have been using all along). And I have started to write the SAX-parser to read the file and turn it into Java-objects. Next week I will try to get as far as possible in implementing the parser. I don't know if I can finished it, but it is possible, the file format isn't very difficult. Then I will have to write the functions which create the track segment so they match the specification and apply the textures.
Wednesday, January 27. 2010
And now the input pins are also drawn. I have also refactored the code so that the input and output pins get drawn by a common function. Next I will start with some editing functions, first is selection of the operators and adding a visual indication of which one is selected. Then I will probably add moving the operators and add a property dialog. At that point it will finally make sense to add some data members to the two operators I have. I still haven't decided if I will use a fixed grid for the operators and channels. It might make it easier to create a pleasing image of the material setup. I think it is important to be able to create diagrams which can be understood easily and I know, that I find it distracting when in a diagram items don't line up.
|