6 |
vob.AbstractUpdateManager.defaultAnimationTime = 10000 |
vob.AbstractUpdateManager.defaultAnimationTime = 10000 |
7 |
|
|
8 |
from math import sin |
from math import sin |
9 |
|
import math |
10 |
|
|
11 |
from org.nongnu.libvob.paper.texcache import getCachedTexture |
from org.nongnu.libvob.paper.texcache import getCachedTexture |
12 |
|
|
24 |
tex = getCachedTexture(args[7]) |
tex = getCachedTexture(args[7]) |
25 |
|
|
26 |
|
|
27 |
fp = [GL.createProgram("""!!FP1.0 |
fp = [ |
28 |
|
GL.createProgram("""!!FP1.0 |
29 |
|
MOV R10, f[TEX0].xyzw; |
30 |
|
DDX R8, R10; |
31 |
|
DDY R9, R10; |
32 |
|
MUL R18, R8, 1; |
33 |
|
MUL R19, R9, 1; |
34 |
|
|
35 |
|
TXD R0, R10, R18, R19, TEX0, 2D; |
36 |
|
ADD R11, R10, R18; |
37 |
|
TXD R1, R11, R18, R19, TEX0, 2D; |
38 |
|
# ADD R11, R11, R18; |
39 |
|
# TXD R3, R11, R18, R19, TEX0, 2D; |
40 |
|
SUB R11, R10, R18; |
41 |
|
TXD R2, R11, R18, R19, TEX0, 2D; |
42 |
|
# SUB R11, R11, R18; |
43 |
|
# TXD R4, R11, R18, R19, TEX0, 2D; |
44 |
|
|
45 |
|
ADD R11, R10, R19; |
46 |
|
TXD R5, R11, R18, R19, TEX0, 2D; |
47 |
|
SUB R11, R10, R19; |
48 |
|
TXD R6, R11, R18, R19, TEX0, 2D; |
49 |
|
|
50 |
|
# Now we have 3 horizontal samples |
51 |
|
# in R2, R0, R1 |
52 |
|
# and 3 vertical in R6, R0, R5. |
53 |
|
# Set the pixel if it's maximum in one |
54 |
|
# direction |
55 |
|
|
56 |
|
MAX R7.x, R2.w, R1.w; |
57 |
|
MAX R7.y, R5.w, R6.w; |
58 |
|
|
59 |
|
SUB R7, R0.w, R7; |
60 |
|
|
61 |
|
RCP R1.w, R0.w; |
62 |
|
MUL R7.xy, R7, R1.w; |
63 |
|
|
64 |
|
# MAX R7.w, R7.x, R7.y; |
65 |
|
MAX R7.w, R7.x, R7.x; |
66 |
|
|
67 |
|
# ADDC_SAT R7.w, R7.w, .1; |
68 |
|
MOVC_SAT R7.w, R7.w; |
69 |
|
MOV R7(GT), 1; |
70 |
|
|
71 |
|
# SGEC R7.x, R0.w, R2.w; |
72 |
|
# SGE R7.x(NE), R0.w, R1.w; |
73 |
|
# SGEC R7.y, R0.w, R5.w; |
74 |
|
# SGE R7.y(NE), R0.w, R6.w; |
75 |
|
# ADD R7.w, R7.x, R7.y; |
76 |
|
|
77 |
|
MUL R0, R7.w, R0; |
78 |
|
SUB R0.xyz, 1, R0.w; |
79 |
|
# MOV R0.xy, R7; |
80 |
|
MOV R0.w, 1; |
81 |
|
MOV o[COLR], R0; |
82 |
|
|
83 |
|
END |
84 |
|
"""), |
85 |
|
GL.createProgram("""!!FP1.0 |
86 |
|
|
87 |
MOV R10, f[TEX0].xyzw; |
MOV R10, f[TEX0].xyzw; |
88 |
DDX R8, R10; |
DDX R8, R10; |
184 |
MOV o[COLR], R0; |
MOV o[COLR], R0; |
185 |
END |
END |
186 |
"""), |
"""), |
187 |
][1:] |
] |
188 |
|
|
189 |
loremipsum = """Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. |
loremipsum = """Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. |
190 |
|
|
202 |
""" |
""" |
203 |
words = loremipsum.split(" ") |
words = loremipsum.split(" ") |
204 |
|
|
205 |
|
|
206 |
t = 0 |
t = 0 |
207 |
class Scene: |
class Scene: |
208 |
def __init__(self): |
def __init__(self): |
213 |
SlideLin("y", 100, 10, "x coord", "Up", "Down"), |
SlideLin("y", 100, 10, "x coord", "Up", "Down"), |
214 |
SlideLin("a", 0, 15, "Rotation", "Prior", "Next"), |
SlideLin("a", 0, 15, "Rotation", "Prior", "Next"), |
215 |
ListIndex("prognum", "prognum_dummylist", 0, "prog type", "T", "t"), |
ListIndex("prognum", "prognum_dummylist", 0, "prog type", "T", "t"), |
216 |
|
Action("Create dist texture", "d", self.makeDist), |
217 |
) |
) |
218 |
|
|
219 |
|
def makeDist(self, foo, foo2): |
220 |
|
vs = vob.putil.demowindow.w.createVobScene() |
221 |
|
vs.put(background((0,0,0))) |
222 |
|
|
223 |
|
|
224 |
|
vs.put(getDListNocoords(""" |
225 |
|
BlendFunc ONE ONE |
226 |
|
BlendEquation MAX |
227 |
|
Enable ALPHA_TEST |
228 |
|
AlphaFunc GREATER 0.99 |
229 |
|
""")) |
230 |
|
tx = vob.vobs.TextVob(vob.GraphicsAPI.getInstance().getTextStyle( |
231 |
|
"serif", 1, 64), |
232 |
|
"sofesjif@342oFAEOFJ", 0, None) |
233 |
|
for x in range(-10,11): |
234 |
|
for y in range(-10,11): |
235 |
|
d = 1 - math.hypot(x,y) / 20 |
236 |
|
print d |
237 |
|
vs.put(getDListNocoords(""" |
238 |
|
Color %s %s %s 1 |
239 |
|
""" % (d, d, d))) |
240 |
|
cs = vs.orthoCS(0,"", 0, x+40, y+40, 20, 20) |
241 |
|
vs.put(tx, cs) |
242 |
|
vob.putil.demowindow.w.renderStill(vs, 0) |
243 |
|
|
244 |
def scene(self, vs): |
def scene(self, vs): |
245 |
putnoc(vs, background((1,1,1))) |
putnoc(vs, background((1,1,1))) |
246 |
|
|
249 |
print fpid |
print fpid |
250 |
|
|
251 |
putnoc(vs, getDListNocoords(""" |
putnoc(vs, getDListNocoords(""" |
252 |
PushAttrib ENABLE_BIT |
PushAttrib ENABLE_BIT CURRENT_BIT COLOR_BUFFER_BIT TEXTURE_BIT |
253 |
|
|
254 |
BindProgram FRAGMENT_PROGRAM_ARB %s |
BindProgram FRAGMENT_PROGRAM_ARB %s |
255 |
Enable FRAGMENT_PROGRAM_ARB |
Enable FRAGMENT_PROGRAM_ARB |
256 |
Enable ALPHA_TEST |
Enable ALPHA_TEST |