PDA

View Full Version : 2D graphic problems


adimov
11-17-2003, 04:08 PM
There is a disparity in the way OPENGL graphics look in 2.11 and 2.12. When moving objects that have been passed layers, for example:
viz.startlayer(viz.QUADS)
viz.vertexcolor(1, 1, 1)
viz.vertex(0,0,0)
viz.vertex(0.05,0,0)
viz.vertex(0.05,0.05,0)
viz.vertex(0,0.05,0)
trace = viz.endlayer()

all my objects are moving together, not just the one I am actually moving. The objects are a part of a class with many instances and when I move one instance all of them are moving together. Furthermore, the scale of the objects in not the same as in 2.11
Also, the colors of different objects switch sometimes...
I can send the code if you want me to, or maybe you already know what the problem is,
Thanks,
Alex

farshizzo
11-17-2003, 04:29 PM
Hi Alex,

I'm not clear on what your problem is. Are you saying that when you translate one object, all of the objects are being translated? You also mentioned that the scale is different, are the objects bigger or smaller? Could you send me your code so that I could compare it between the two different versions here? If you don't want to post your code on the forum you can send it to lashkari@worldviz.com. Thanks.

adimov
11-17-2003, 04:47 PM
I've just sent you the code via e-mail,
Thanks,
Alex

farshizzo
11-17-2003, 05:37 PM
Hi Alex,

I believe I found the solution to your problem. You need to have the import viz and viz.go() statements at the very top of your script. You must always put these two lines before any other viz commands. There was a mistake in the previous versions that allowed you to bypass this, but it was corrected in 2.12

On a side note, I'm not sure if you are aware, but you can add layer objects to the screen by doing the following:
viz.startlayer(viz.LINES)
.
.
.
indicator = viz.endlayer(viz.SCREEN)
Then you can use screen coordinates to move the object. For instance if the mouse is at [0.2,0.3], then you would simply do:
indicator.translate(0.2,0.3)
and it would show up underneath the mouse pointer. I'm only saying this because I noticed that all the objects are always in front of the screen, and its usually easier to perform 2d calculations than 3d calculations. Hope this helps!

adimov
11-17-2003, 05:40 PM
Thank you very much, and I will take advantage of the hint.