Cacti - T. terscheckii & B. caapi
The experience was amazing! The adventure began at a natural, clothing optional, hot springs.  After melting away all stress, the psychonauts set sail to the heart of alpine forest. Miles of dusty trail lead them to a campsite far off the beaten path. As the sun descended to the horizon the psychonauts hastily erected their tent, just in time to witness the last mango orange rays of sunlight retreat through the trees.
The next morning, this psychonaut awoke with the sunrise and quenched a fearsome thirst. Whilst his comrades slept he went for a walk Westward down a logging road. Leaving the cover of forest, he beheld the glory of pristine valley during the first light. From atop an amazingly well situated rock slab protruding from the hilltop he surveyed the landscape. A lowing of cattle, far off in the unseen cleft of the valley, seemed to resonate off resplendent hills-giving the illusion of proximity. The psychonaut sat on the crest in meditation, for an indefinite duration of time, absorbed in jhana. Emerging into form he laid back and watched the little fluffy clouds, in an infinite lattice of queues, advance forth, bow to the sun in reverence, and disintegrate into wispy spirals of ether. The heat from the sun intensified and the psychonaut, feeling parched, walked pensively back to camp.
The psychonauts finished setting up camp, made prayers and offerings for peace and illumination for all beings. Sage was burned and each in turn cleansed and centered. At 1000 hours, this psychonaut ingested 45 grams of Banisteriopsis caapi (white) infusion orally. This was followed by the usual mild nausea within 15 minutes. Allowing the stomach 30 minutes or so to make peace with the vine the psychonaut set forth an intention akin to the vow of the bodhisattvas. 'May this trip produce benefit and illumination for all!,' he exclaimed mentally.
'...(without MAO) it was lighter, easier to sustain and very energetic... I felt love for everyone and started dancing... Strained muscles came to the surface and I danced them loose... I feel my body... I felt the pain and frustration in my bones... Important to do is to let that feeling/energy loose, feel it, and let it go. I don't need negative energy. It's hard to conserve my positive!'(4)
At 1030 hours this psychonaut was presented with a small mason jar of brownish sludge.  Then this psychonaut ingested 15g of Trichocereus terscheckii infusion orally, leaving 10g worth of solution in the jar for later. The psychonaut breathed through the stomach's diatribe in opposition of these new contents. The discomfort was less than that caused by antibiotics on an empty stomach.
'An overriding feeling of optimism filled [the psychonaut]. Things were going to be okay. They really were...'(2) He retreated to the tent and laid out everything just-so in anticipation of the days needs: sunscreen, essential oils, incense, medicine wheel, book, water, shorts... everything in its right place. While his mates paced around jostling him in the wake of anxiety the psychonaut placed a small tray filled with enough water to act as a level on his feet and stretched.
'I definitely notice some indefinite sickness coupled with bliss,' the psychonaut jotted down into his notebook. Hoping to later remember this posture he scrawled, 'Relaxed stillness-in body during water asana stretch.' A comrade approached, gushing infinite sorrow, seeking comfort. The psychonaut handed him a piece of malachite from the South position on the wheel and fixated again on relaxed stillness. The psychonaut removed his moccasins and dawned a pair of running shoes. 'Left shoelace tied mechanically; right shoelace tied artistically,' was appended to the trip log.
At 1230 hours this psychonaut was encouraged to take the rest of the cacti infusion. Whilst conversing with the mason jar in his lap this psychonaut perceived the echo of his voice off the metal lid. 'Sounds like echoes in my voice as if my head was in a tin can,' he wrote. After some hesitation he ingested 10g of Trichocereus terscheckii infusion (the rest) orally. Then inscribed, 'Focus on the relationship with the plants,' into the journal. This mixture seems so right... perhaps it is the elixir of immortality (Sanskrit amrta). Thank God for soma!
'Let's go to the rock,' says the psychonaut, and soon they stroll in bliss down the logging road. The psychonaut observes that this mixture enhances the perceptual boundary between tracks on the road. Various treads of tire, chipmunk, bluebird... the psychonaut leads his comrade to 'the rock' whereupon one can dissolve, unite, with the valley. They play flutes in nature's amphitheater and comment on the chaotic fractal patterns of clouds. This psychonaut treks about with boundless enthusiasm and energy; the other returns to camp. This psychonaut descends to the inverse ridge line of the valley, each further step releasing more healing energies and increasing levels of carnal euphoria.
The psychonaut stands on the rocks where the winter run-off once flowed. 'Only the gentle loving caress of stream flow could have painted a brush stroke across time, space and void,' he logs into his journal. He turns 180 degrees noticing a small patch of grass matted down as if the valley herself approved of his awakening and offered a seat for audience. Standing on the seat he bows with palms together to the valley's essence which appears as a radiant unseen presence flowing out of the plant in front of him. He again is inspired to write, 'I dare not move a muscle for fear of disrupting the seat nature has prepared so graciously for me.  Don't wish to sit!!! Not in mother natures crotch. Comfortable as it may be... My host a solitary clump of ragweed bends a stalk in gesture of reverence. What manner of animal stepped thusly... cow... probably.'
An indefinite amount of time elapses. The psychonaut ponders the cosmic calligrapher whose hand has brushed in one stroke from beginning to end a seamless infinity mandala of psychedelic chroma. He realizes that the stream and the clouds are one. The clouds descend to paint their brush strokes on the valley floor and then they flow along inspecting and blessing the fruits of their labor. Reaching the source they ascend and observe their painting from the heavens. This psychonaut feels the possibility of rain coupled with dehydration and heads back to camp.
On the way back to camp the psychonaut again comes across the path of utter annihilation caused by a logging truck. Like the path of an avalanche across the forest floor. 'I will do my best to change THIS: The trample... trampling of nature in large heedless patterns...  Breathing through the feelings of pain, guilt, and sadness he finds the comforting grace of Gaia's hand showing him the way to a meaningful livelihood. She teaches him to accept the responsibility for positive social action.  This sentiment is shared by his comrades. It seems this forest welcomes these three psychonauts and lovingly teaches them a higher Dharma.
 I'm not saying that whatever we feel and think whilst intoxicated by drugs is absolute truth, but the drug experience is something that can teach us valuable lessons about how better to serve ourselves and the world around us.'(2)
Between wanderings and instruction from Gaia the psychonauts explored the rule of octaves playing flutes and digeridoos-evoking the sacred healing resonances. The psychonaut shifts from playing melody to playing intonations attuned to balance the cakras of a camp mate.
'I awoke from The Sickness at the age of forty-five, calm and sane, and in reasonably good health except for a weakened liver and the look of borrowed flesh common to all who survive The Sickness. . . When I speak of drug addiction I do not refer to keif, marijuana or any preparation of hashish, mescaline, Banisteriopsis caapi, LSD6, Sacred Mushrooms or any other drugs of the hallucinogen group. . . . There is no evidence that the use of any hallucinogen results in physical dependence...'(6)
As afternoon slipped into evening the trademark mescaline patterns were observed overlayed upon all visual input. Closed eye visuals entertained the psychonaut with fractal sacred geometric swirling kaleidoscopic rainbows. The psychonaut played a high note on the flute and noticed the auditory sense shift its bandwidth filter to the range of insects buzzing and bouncing off the canopy of the shade structure in a futile effort to clip through the boundary of tarp and sky. The psychonaut entertains a Carlos Casteneda-like notion of seeing energy as it flows in the Universe.
'The energy moved all around the plant, through its circulatory system, into the earth and into the atmosphere. I was seeing the plant living.  This amazing, pulsing energy flowing through all these plants suddenly seemed to be flowing through all the bugs in the garden as well. Then I could see it flowing through us. There were these energy auras surrounding us and once again I was filled with this feeling of balance. Everything was as it should be. Not perfect, but getting there. Even for all the bad things that are happening in the world, change is happening. Slowly, but it is happening... I decided to celebrate all this happiness by going off to dance... soon every single rhythm in the entire universe could be heard; and they all combined into this sort of heartbeat sound?'(2)
The psychonaut tunes out from judgemental hearing and surrenders to 'different divine sounds-anahat nadam-the subtle and constant inexpressible musical vibration in your head.'(8) The psychonaut contorts his body into unconventional asanas... defining his own yoga... his own aikido. The psychonaut observes that, 'The Earth is like the most spectacular raw uncut gem... mankind and all kind attempt to wrap her in a uniformly, geometric pattern.' He realized that all life on earth weaves a fractal tapestry. Like a jeweler's lattice which, although profoundly intricate, does not distract the focus from the rough priceless jewel but enhances it perfectly.
The psychonaut goes for another stroll. Living in the bliss of NOW. He ponders the recurrence of bears chasing him in the dream state. He realizes that the bear would not kill an enlightened/awakened human. The psychonaut finds peace and comfort in this though. 'Large beasts are amazing mystical beings...,' he writes in the trip log. Pauses for a moment and wanders on.
'Crushed vegetation, a mound of stones, and processed timber lathe are all that remains... Uniformly spaced piles of sawdust... tell a murder story all too vivid to the attuned IMAGINATION.' This mixture of desert cacti, tropical vine, and forest seems to allow telepathy with nature. The psychonaut breathes through a moment of shock at viewing piles of sawdust as a forensic pathologist must grimace at the discovery of hair and blood at the scene of a crime. The psychonaut takes refuge in the Buddha, the Dharma and the Sangha... he returns to camp and contemplates if a course of action is possible or if the desire to fix a perceived imbalance is ego-driven. The psychonaut surrenders to the moment and trusts in a power greater than himself, the source of all that is, to guide him towards Gaian healing if it serve the summum bonum
'I realised that this change would not happen anytime soon - easily not within my lifetime, but it would happen and if I started right now by trying to make the change happen, not in the revolutionary sense, but merely by trying to be as loving as I could in a world that was so devoid of love... I felt free of all that conditioning that reminds us how helpless we are to change things? I felt that over every horizon was boundless opportunity and that there were no longer any limits imposed upon me... absolutely no comedown off the mescaline. One of my best drug experiences, and because I found it so special, I hardly ever do mescaline, to preserve the magic.'(2)
I entered a state of acute awareness for about 18 hours during which I had many profound insights. It's hard to sum up into words. It was an experience I will cherish for a long time. May this trip report produce benefit and illumination for all beings!
-----
Here are some excerpts which should be regarded as vital. I've combined them into this experience report for the sake of consolidation:
'Due to the amphetamine properties of the phenethylamine entheogens, mescaline [for example]..., a hypertensive crisis could ensue as a result of their combination with an MAOI. Such an interaction has been reported in the literature.'(1)
'Combining MAOIs with other psychoactive drugs can lead to dangerous medical problems including serotonin syndrome, hypertensive crisis, and other related serious issues [even Death]...'(5)
'Tyramine is not believed to be dangerous with harmine or harmaline since it readily displaces either one. The harmala alkaloids are highly selective and highly reversible MAOIs. They are quite different than some of the prescription drugs such as Phenelzine (Nardil) or Tranycypromine (Parnate) which actually bind irreversibly to the MAO enzymes. With irreversible MAOIs, restoration of normal MAO metabolic function requires that more of the enzymes be produced by the body...'(5)
'Whether mescaline (also showing some MAOI activity itself) is safe in combination with any significant level of tyramine has not really been established.'(5)
'It is reasonable to be concerned about combining cactus and MAOIs. The primary reason I've encountered for why people want to use MAOIs with cactus is that they want to be able to use less cactus and get strong effects. A primary reason given is that cactus alone makes them nauseous or that there is a perceived body load. However the reports I've received sugguest [sic] that nausea is actually more pronounced in most people who take cactus with MAOIs. Many people do not experience either nausea or vomiting with trichocereus cactus alone.'(5)
'...one of the primary sources of a powerful hallucinogenic brew used by the Mazan and Zaparo Indians, called ayahuasca (Quechua for 'vine of the souls' or 'vine of the dead'), and previously described by the Ecuadorian Manuel Villavicencio (1858), as a large woody vine that would later be given the formal botanical designation of Banisteriopsis caapi(Ott, 1994; Spruce, 1908)... It is considered a 'great medicine' and is used to both diagnose and treat illness (Schultes and Hofmann, 1992).'(7)
References:
1. MAPS - Volume 6 Number 1 Autumn 1995 - p. 58, 'MAOI Contraindications'
2. Erowid.Org - Trip/Experience Report #25285 (The Great Beat) and #34700 (Bringing Me Home) [Revision/Duplicate of #25285]
3. Erowid.Org - Trip/Experience Report #35075 (Terckeshii Poisoning)
4. Erowid.Org - Trip/Experience Report #39396 (Unexpected Effects)
5. Erowid.Org - Ask Erowid: #3089 (Answer by Trout)
6. William S. Burroughs (via Wikipedia)
7. 'Human Psychopharmacology of Hoasca: a plant hallucinogen used in ritual context in Brazil', Journal of Nervous and Mental Disorders, Vol 184 (No. 2) Feb 1996, 86-94, by C.S. Grob; D.J. McKenna; J.C. Callaway; G.S. Brito; G. Oberlaender; O.L. Saide; E. Labigalini; C. Tacla; C.T. Miranda; R.J. Strassman; K.B. Boone (via Erowid.Org)
8. Fundamentals of Yoga, The Lyrebird Press, London, 1972, Dr. Rammurti S. Mishra
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


IPvDeviceAdapter default implementation for the eBUS SDK. More...
Public Member Functions | |
| PvDeviceAdapter (PvDevice *aDevice) | |
| Constructor. | |
| virtual | ~PvDeviceAdapter () |
| Destructor. | |
| bool | IsGenIntegerInNodeMap (const PvString &aParameterName) |
| See IPvDeviceAdapter for description. More... | |
| bool | IsGenEnumInNodeMap (const PvString &aParameterName) |
| See IPvDeviceAdapter for description. More... | |
| bool | IsGenBooleanInNodeMap (const PvString &aParameterName) |
| See IPvDeviceAdapter for description. More... | |
| bool | IsGenRegisterInNodeMap (const PvString &aParameterName) |
| See IPvDeviceAdapter for description. More... | |
| bool | IsGenReadable (const PvString &aParameterName) |
| See IPvDeviceAdapter for description. More... | |
| bool | IsGenWritable (const PvString &aParameterName) |
| See IPvDeviceAdapter for description. More... | |
| bool | IsGenEnumEntryAvailable (const PvString &aParameterName, const PvString &aEnumEntry) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | GetGenIntegerValue (const PvString &aParameterName, int64_t &aValue) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | GetGenEnumEntriesAvailable (const PvString &aParameterName, PvStringList &aList) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | GetGenEnumValue (const PvString &aParameterName, PvString &aEnumEntry) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | SetGenEnumValue (const PvString &aParameterName, const PvString &aEnumEntry) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | GetGenBooleanValue (const PvString &aParameterName, bool &aValue) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | SetGenBooleanValue (const PvString &aParameterName, bool aValue) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | GetGenStringValue (const PvString &aParameterName, PvString &aValue) |
| Returns the string value of string parameter identified by its name. More... | |
| PvResult | GetGenRegisterLength (const PvString &aParameterName, int64_t &aLength) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | GetGenRegisterData (const PvString &aParameterName, uint8_t *aDataBuffer, int64_t aByteCount) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | SetGenRegisterData (const PvString &aParameterName, const uint8_t *aDataBuffer, int64_t aByteCount) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | RegisterGenInvalidator (const PvString &aParameterName) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | UnregisterGenInvalidator (const PvString &aParameterName) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | WriteRegister (int64_t aAddress, uint32_t aValue) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | ReadRegister (int64_t aAddress, uint32_t &aValue) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | WriteMemory (const uint8_t *aBuffer, int64_t aAddress, int64_t aLength) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | ReadMemory (uint8_t *aBuffer, int64_t aAddress, int64_t aLength) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | WaitForMessagingChannelIdle (uint32_t aTimeout) |
| See IPvDeviceAdapter for description. More... | |
| bool | IsConnected () |
| See IPvDeviceAdapter for description. More... | |
| bool | IsPleoraPowered () |
| See IPvDeviceAdapter for description. More... | |
| bool | IsGigEVision () |
| See IPvDeviceAdapter for description. More... | |
| bool | IsUSB3Vision () |
| See IPvDeviceAdapter for description. More... | |
| PvResult | RegisterEventSink (IPvDeviceEventSink *aEventSink) |
| See IPvDeviceAdapter for description. More... | |
| PvResult | UnregisterEventSink (IPvDeviceEventSink *aEventSink) |
| See IPvDeviceAdapter for description. More... | |
Protected Member Functions | |
| void | OnEvent (PvDevice *aDevice, uint16_t aEventID, uint16_t aChannel, uint64_t aBlockID, uint64_t aTimestamp, const void *aData, uint32_t aDataLength) |
| PvDeviceEventSink callback from PvDevice. More... | |
| void | OnParameterUpdate (PvGenParameter *aParameter) |
| PvGenParameter callback for GenICam parameters invalidators. More... | |
IPvDeviceAdapter default implementation for the eBUS SDK.
The IPvDeviceAdapter interface can be implemented for any SDK that can control GigE Vision and/or USB3 Vision devices in order to use PvDeviceSerialPort.
PvDeviceAdapter provides a default implementation of the IPvDeviceAdapter that can be used with the eBUS SDK.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter. |
| [out] | aValue | Value of the parameter. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter. |
| [out] | aList | A list containing the string representation of all available enum entries. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter. |
| [out] | aEnumEntry | Value of the parameter. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter. |
| [out] | aValue | Value of the parameter. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter. |
| [out] | aDataBuffer | Buffer where to copy the data. |
| [in] | aByteCount | How many bytes to copy to aDataBuffer. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter. |
| [in] | aLength | Length (in bytes) of the register. |
Implements IPvDeviceAdapter.
|
virtual |
Returns the string value of string parameter identified by its name.
| [in] | aParameterName | Name of the parameter. |
| [out] | aValue | Value of the parameter. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter to test for. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter to test for. |
| [in] | aEnumEntry | Name of the enum entry to test for. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter to test for. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter to test for. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter to test for. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter to test for. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter to test for. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
Implements IPvDeviceAdapter.
|
protectedvirtual |
PvDeviceEventSink callback from PvDevice.
| [in] | aDevice | Device that triggered the callback. |
| [in] | aEventID | Event ID. |
| [in] | aChannel | Channel of the event. |
| [in] | aBlockID | Block ID of the event. |
| [in] | aTimestamp | Timestamp of the event. |
| [in] | aData | Data pointer (can be NULL if EVENT_CMD instead of EVENTDATA_CMD) |
| [in] | aDataLength | Data Length (can be 0 if EVENT_CMD instead of EVENTDATA_CMD) |
Reimplemented from PvDeviceEventSink.
|
protectedvirtual |
PvGenParameter callback for GenICam parameters invalidators.
| [in] | aParameter | The invalidated parameter. |
Implements PvGenEventSink.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aBuffer | Pointer of the buffer where the data will be written. |
| [in] | aAddress | Address where to read the daa. |
| [aLength] | aLength Length of the data to read, in bytes. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aAddress | Address of the register. |
| [out] | aValue | Value read from the register. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aEventSink | Pointer to an object implementing the IPvDeviceEventSink interface. |
Implements IPvDeviceAdapter.
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter. |
| [in] | aValue | New value for the enumeration. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter. |
| [in] | aEnumEntry | New value for the enumeration. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter. |
| [out] | aDataBuffer | Buffer to copy the data from. |
| [in] | aByteCount | How many bytes to copy from aDataBuffer to the register. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aEventSink | Pointer to an object implementing the IPvDeviceEventSink interface. |
Implements IPvDeviceAdapter.
See IPvDeviceAdapter for description.
| [in] | aParameterName | Name of the parameter. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aBuffer | Pointer to the data to write. |
| [in] | aAddress | Address where to write the data. |
| [aLength] | aLength Length of the data to write, in bytes. |
Implements IPvDeviceAdapter.
|
virtual |
See IPvDeviceAdapter for description.
| [in] | aAddress | Address of the register. |
| [in] | aValue | Value to write to the register. |
Implements IPvDeviceAdapter.
Copyright (c) 2002-2015 Pleora Technologies Inc.
www.pleora.com


Class ARBGeometryShader4
- java.lang.Object
-
- org.lwjgl.opengl.ARBGeometryShader4
-
public class ARBGeometryShader4 extends java.lang.Object
Native bindings to the ARB_geometry_shader4 extension.ARB_geometry_shader4 defines a new shader type available to be run on the GPU, called a geometry shader. Geometry shaders are run after vertices are transformed, but prior to color clamping, flat shading and clipping.
A geometry shader begins with a single primitive (point, line, triangle). It can read the attributes of any of the vertices in the primitive and use them to generate new primitives. A geometry shader has a fixed output primitive type (point, line strip, or triangle strip) and emits vertices to define a new primitive. A geometry shader can emit multiple disconnected primitives. The primitives emitted by the geometry shader are clipped and then processed like an equivalent OpenGL primitive specified by the application.
Furthermore, ARB_geometry_shader4 provides four additional primitive types: lines with adjacency, line strips with adjacency, separate triangles with adjacency, and triangle strips with adjacency. Some of the vertices specified in these new primitive types are not part of the ordinary primitives, instead they represent neighboring vertices that are adjacent to the two line segment end points (lines/strips) or the three triangle edges (triangles/tstrips). These vertices can be accessed by geometry shaders and used to match up the vertices emitted by the geometry shader with those of neighboring primitives.
Since geometry shaders expect a specific input primitive type, an error will occur if the application presents primitives of a different type. For example, if a geometry shader expects points, an error will occur at
Begin
time, if a primitive mode ofTRIANGLES
is specified.Promoted to core in
OpenGL 3.2
.
-
-
Field Summary
Fields Modifier and Type Field and Description static int
GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYERAccepted by thepname
parameter of GetFramebufferAttachment- ParameterivARB.static int
GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB
GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARBReturned by CheckFramebufferStatusARB.static int
GL_GEOMETRY_INPUT_TYPE_ARB
GL_GEOMETRY_OUTPUT_TYPE_ARBAccepted by thepname
parameter of ProgramParameteriARB and GetProgramiv.static int
GL_GEOMETRY_SHADER_ARB
Accepted by thetype
parameter of CreateShader and returned by theparams
parameter of GetShaderiv.static int
GL_GEOMETRY_VERTICES_OUT_ARB
Accepted by thepname
parameter of ProgramParameteriARB and GetProgramiv.static int
GL_LINE_STRIP_ADJACENCY_ARB
GL_LINES_ADJACENCY_ARBAccepted by themode
parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.static int
GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB
GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB
GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB
GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB
GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB
GL_MAX_VERTEX_VARYING_COMPONENTS_ARBAccepted by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.static int
GL_PROGRAM_POINT_SIZE_ARB
Accepted by thecap
parameter of Enable, Disable, and IsEnabled, and by thepname
parameter of GetIntegerv, GetFloatv, GetDoublev, and GetBooleanv.static int
GL_TRIANGLE_STRIP_ADJACENCY_ARB
GL_TRIANGLES_ADJACENCY_ARBAccepted by themode
parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static void
glFramebufferTextureARB(int target, int attachment, int texture, int level)
Attaches a specified level of a texture object as one of the logical buffers of the currently bound framebuffer object, to render directly into the texture image.static void
glFramebufferTextureFaceARB(int target, int attachment, int texture, int level, int face)
Operates likeFramebufferTextureARB
, except that only a single face of a cube map texture, given byface
, is attached to the attachment point.static void
glFramebufferTextureLayerARB(int target, int attachment, int texture, int level, int layer)
Operates likeFramebufferTextureARB
, except that only a single layer of the texture level, numberedlayer
, is attached to the attachment point.static void
glProgramParameteriARB(int program, int pname, int value)
Sets a program object parameter.
-
-
-
Field Detail
-
GL_GEOMETRY_SHADER_ARB
public static final int GL_GEOMETRY_SHADER_ARB
Accepted by thetype
parameter of CreateShader and returned by theparams
parameter of GetShaderiv.- See Also:
- Constant Field Values
-
GL_GEOMETRY_VERTICES_OUT_ARB
public static final int GL_GEOMETRY_VERTICES_OUT_ARB
Accepted by thepname
parameter of ProgramParameteriARB and GetProgramiv.- See Also:
- Constant Field Values
-
GL_GEOMETRY_INPUT_TYPE_ARB
public static final int GL_GEOMETRY_INPUT_TYPE_ARB
Accepted by thepname
parameter of ProgramParameteriARB and GetProgramiv.- See Also:
- Constant Field Values
-
GL_GEOMETRY_OUTPUT_TYPE_ARB
public static final int GL_GEOMETRY_OUTPUT_TYPE_ARB
Accepted by thepname
parameter of ProgramParameteriARB and GetProgramiv.- See Also:
- Constant Field Values
-
GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB
public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB
Accepted by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.- See Also:
- Constant Field Values
-
GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB
public static final int GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB
Accepted by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.- See Also:
- Constant Field Values
-
GL_MAX_VERTEX_VARYING_COMPONENTS_ARB
public static final int GL_MAX_VERTEX_VARYING_COMPONENTS_ARB
Accepted by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.- See Also:
- Constant Field Values
-
GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB
public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB
Accepted by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.- See Also:
- Constant Field Values
-
GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB
public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB
Accepted by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.- See Also:
- Constant Field Values
-
GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB
public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB
Accepted by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.- See Also:
- Constant Field Values
-
GL_LINES_ADJACENCY_ARB
public static final int GL_LINES_ADJACENCY_ARB
Accepted by themode
parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.- See Also:
- Constant Field Values
-
GL_LINE_STRIP_ADJACENCY_ARB
public static final int GL_LINE_STRIP_ADJACENCY_ARB
Accepted by themode
parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.- See Also:
- Constant Field Values
-
GL_TRIANGLES_ADJACENCY_ARB
public static final int GL_TRIANGLES_ADJACENCY_ARB
Accepted by themode
parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.- See Also:
- Constant Field Values
-
GL_TRIANGLE_STRIP_ADJACENCY_ARB
public static final int GL_TRIANGLE_STRIP_ADJACENCY_ARB
Accepted by themode
parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.- See Also:
- Constant Field Values
-
GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB
public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB
Returned by CheckFramebufferStatusARB.- See Also:
- Constant Field Values
-
GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB
public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB
Returned by CheckFramebufferStatusARB.- See Also:
- Constant Field Values
-
GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB
public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB
Accepted by thepname
parameter of GetFramebufferAttachment- ParameterivARB.- See Also:
- Constant Field Values
-
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
Accepted by thepname
parameter of GetFramebufferAttachment- ParameterivARB.- See Also:
- Constant Field Values
-
GL_PROGRAM_POINT_SIZE_ARB
public static final int GL_PROGRAM_POINT_SIZE_ARB
Accepted by thecap
parameter of Enable, Disable, and IsEnabled, and by thepname
parameter of GetIntegerv, GetFloatv, GetDoublev, and GetBooleanv.- See Also:
- Constant Field Values
-
-
Method Detail
-
glProgramParameteriARB
public static void glProgramParameteriARB(int program, int pname, int value)
Sets a program object parameter.The error
INVALID_VALUE
is generated ifpname
isGEOMETRY_INPUT_TYPE_ARB
andvalue
is not one ofPOINTS
,LINES
,LINES_ADJACENCY_ARB
,TRIANGLES
orTRIANGLES_ADJACENCY_ARB
.The error
INVALID_VALUE
is generated ifpname
isGEOMETRY_OUTPUT_TYPE_ARB
andvalue
is not one ofPOINTS
,LINE_STRIP
orTRIANGLE_STRIP
.The error
INVALID_VALUE
is generated ifpname
isGEOMETRY_VERTICES_OUT_ARB
andvalue
is negative.The error
INVALID_VALUE
is generated ifpname
isGEOMETRY_VERTICES_OUT_ARB
andvalue
exceedsMAX_GEOMETRY_OUTPUT_VERTICES_ARB
.The error
INVALID_VALUE
is generated ifpname
is set toGEOMETRY_VERTICES_OUT_ARB
and the product ofvalue
and the sum of all components of all active varying variables exceedsMAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB
.- Parameters:
program
- the program objectpname
- the parameter to set. One of:GEOMETRY_VERTICES_OUT_ARB
GEOMETRY_INPUT_TYPE_ARB
GEOMETRY_OUTPUT_TYPE_ARB
value
- the value being set
-
glFramebufferTextureARB
public static void glFramebufferTextureARB(int target, int attachment, int texture, int level)
Attaches a specified level of a texture object as one of the logical buffers of the currently bound framebuffer object, to render directly into the texture image.If
texture
is zero, any image or array of images attached to the attachment point named byattachment
is detached, and the state of the attachment point is reset to its initial values.level
is ignored iftexture
is zero.If
texture
is non-zero, FramebufferTextureARB attaches levellevel
of the texture object namedtexture
to the framebuffer attachment point named byattachment
. The errorINVALID_VALUE
is generated iftexture
is not the name of a texture object, or iflevel
is not a supported texture level number for textures of the type corresponding totarget
. The errorINVALID_OPERATION
is generated iftexture
is the name of a buffer texture.If
texture
is the name of a three-dimensional texture, cube map texture, or one- or two-dimensional array texture, the texture level attached to the framebuffer attachment point is an array of images, and the framebuffer attachment is considered layered.- Parameters:
target
- the render target. Must be:FRAMEBUFFER
attachment
- must be one of the attachments points of the framebuffertexture
- the texture object namelevel
- the texture level
-
glFramebufferTextureLayerARB
public static void glFramebufferTextureLayerARB(int target, int attachment, int texture, int level, int layer)
Operates likeFramebufferTextureARB
, except that only a single layer of the texture level, numberedlayer
, is attached to the attachment point.If
texture
is non-zero, the errorINVALID_VALUE
is generated iflayer
is negative, or iftexture
is not the name of a texture object. The errorINVALID_OPERATION
is generated unlesstexture
is zero or the name of a three-dimensional or one- or two-dimensional array texture.- Parameters:
target
- the render target. Must be:FRAMEBUFFER
attachment
- must be one of the attachments points of the framebuffertexture
- the texture object namelevel
- the texture levellayer
- the texture layer
-
glFramebufferTextureFaceARB
public static void glFramebufferTextureFaceARB(int target, int attachment, int texture, int level, int face)
Operates likeFramebufferTextureARB
, except that only a single face of a cube map texture, given byface
, is attached to the attachment point.If
texture
is non-zero, the errorINVALID_VALUE
is generated iftexture
is not the name of a texture object. The errorINVALID_OPERATION
is generated unlesstexture
is zero or the name of a cube map texture.- Parameters:
target
- the render target. Must be:FRAMEBUFFER
attachment
- must be one of the attachments points of the framebuffertexture
- the texture object namelevel
- the texture levelface
- the cube map face. One of:TEXTURE_CUBE_MAP_POSITIVE_X
TEXTURE_CUBE_MAP_NEGATIVE_X
TEXTURE_CUBE_MAP_POSITIVE_Y
TEXTURE_CUBE_MAP_NEGATIVE_Y
TEXTURE_CUBE_MAP_POSITIVE_Z
TEXTURE_CUBE_MAP_NEGATIVE_Z
-
-


Today is:
iOS Repo Updates
Get
2e's Store
Jailbreaks
2e’s custom services
Cydia
Zebra
A Huge Collection of stuff!
Evelyn's Collection
Cydia
Zebra
A Huge Collection of Widgets!
Polyphian repo
Cydia
Zebra
A Huge Collection of Widgets!
iDeviceHacked Repo
Cydia
Zebra
Where cool tweaks exists
Pulandres Repo
Cydia
Zebra
Where cool Cracks exists
ReJail Repo
Cydia
Zebra
Where cool Cracks exists
Kiiimo Repo
Cydia
Zebra
Where cool Cracks exists
Jake James repo
Cydia
Zebra
A collection of stuff
Julioverne repo
Cydia
Zebra
A collection of stuff
Julioverne's repo
Cydia
Zebra
A collection of stuff
YouRepo repo
Cydia
Zebra
A collection of stuff
Twitter
2e's custom services


- The evil Paramecia Empire has an iron grip on the world. A rebel army, led by the king of Fynn, tries to organize a coup against the Empire, but fails time and time again.
- The empire is able to overrun the kingdom of Kas'ion because of the actions of Borghen, its general, who betrayed the kingdom. Gordon and Scott, the princes of Kas'ion, travel to Altair help the king out in his ventures.
- In an attack to attempt to regain Fynn Castle, both the king of Fynn and Scott of Kas'ion are fatally wounded. The king's daughter, Hilda, takes the king to Altair, the rebel base, and takes over in his stead. Scott, unable to escape, is hidden underground by a member of the Rebels.
- Four youths, Firion, Gus, Maria, and Leon, are also fighting against the Empire. They are wounded in battle. Leon is taken by the enemy, but the rebels rescue the other three. They are taken to Altair.
- Leon is brainwashed by the Paramecian Emperor and takes on the persona of a Dark Knight. He is put in charge of the mission to build a giant Warship for the Empire, which is based in the city of Bafsk.
- The three youths decide to search for Maria's brother Leon. Their first stop is Fynn, where the passwords they learned from Hilda gain them access to Scott's deathbed. They take Scott's ring to Hilda, where they learn more of the rebels' plans. Without the legendary metal, Mithril, the rebels have no chance against the Empire. Hilda sends the three youths, along with her magician Mindu (Minu), to Semitt Cave to procure some. Mindu has a canoe which allows them to travel east.
- They travel from the city of Paloom by sea to Poft, and from there via an airship owned by a man named Cid, to reach Semitt Cave. Villagers from the city of Salamand are forced to mine for Mithril here. Two of the miners are Pavel, a thief, and Nellie, the daughter of Josef from Salamand. They are rescued by the three youths and Mindu, who also find a cache of Mithril, which they return to Altair with.
- Hilda now decides to send the youths and Mindu to Bafsk to stop the building of the Warship. When they arrive they overhear rumors that the Dark Knight has been called back to Paramecia, and Borghen has taken his place as overseer of the Warship project. However, Borghen is sloppier than the Dark Knight, and the youths manage to sneak in via the sewers. However, the Dark Knight is waiting for them, and informs them that the Warship is already complete; he and Borghen escape on it.  Gordon escapes to Kas'ion to attempt to retrieve an item called the Sunfire; most think he just ran away. Before leaving Bafsk, the three youths pick up a pass that the Dark Knight leaves behind.
- Cid in Poft tells them that the only way to destroy the Warship is by throwing the Sunfire into its engines. The Flame resides on the lowest floor of Kas'ion. However, to be able to carry the flame they require the Ergil Torch, which itself resides on the highest floor of Kas'ion. To be able to get even there, however, they also require the Goddess Bell to open the door. The Bell is hidden in the Snow Cave to the north.
- Josef of Salamand knows the way to the Snow Cave, but in order to cross the Snow Field they will require the Ice Sled, which is hidden back in Semitt Cave. Josef and the three youths travel there and pick up the Ice Sled. They travel to the Snow Cave. Aided by friendly beavers (whom apparently only Gus can understand) they find the Goddess Bell. However, Borghen the traitor shows up. He is defeated by the party, but causes an avalanche which forces Josef to sacrifice himself to save the others.
- The three youths now travel to Kas'ion, where they meet Gordon, who joins them. Together they collect both the Ergil Torch and the Sunfire. Hilda and Cid arrive in Cid's airship to take you back to Altair, but they are intercepted by the Warship and both Hilda and Cid are taken prisoner.
- The pass left by the Dark Knight gains the three youths and Gordon access to the Warship. They sneak inside, rescue Hilda and Cid, and throw the Sunfire into the Warship's engine, destroying it.
- Back in Altair, the wounded king rewards Gordon by giving him a post in Altair; he also sends the magician Mindu to look for the legendary ultimate magic spell, Ultima. The king sends the three youths to Deist Castle, home of the Dragoons, in hope of gaining their support. The king then passes away.
- The three youths take a ship from Paloom to Deist. However, it turns out to be a pirate ship, led by a woman named Leila. However, the youths defeat the pirates, and Leila joins their quest and lends them her ship.
- In Deist Castle, there are only two survivors, a woman and child. They tell the party that all the Dragoons have been killed, and there is only one dragon (Wind Drake) left. However, no non-Dragoon can understand the Wind Drake without a magical Pendant which is hidden in Deist Cave.
- They find the Pendant. The Wind Drake tells them that it is dying. It mentions that there is one Dragoon named Gareth, who escaped the destruction of Deist when he left to look for Ultima as well. Finally, the Wind Drake asks the party to take its egg to the Spring of Life inside Deist Cave. They do so, and return to Altair.
- On their arrival they discover that Hilda has been captured, and a doppelganger (a Lamia) has been ruling in her place. They dispatch the monster and learn where Hilda is being held: at an Arena, where the Emperor plans on giving her away as a prize to whoever beats the monsters there. Gordon accompanies the youths there while Leila stays in Altair.
- The youths and Gordon beat the monster, but are betrayed by the Emperor and taken prisoner. However, they are rescued by Pavel, the thief, as a reward for rescuing him from Semitt Cave. They regain Hilda and return to Altair, where Gordon stays.
- With the help of Mithril and Leila's pirates, the rebels have organized themselves to be ready to attack the Emperor's stronghold in Fynn Castle. Everyone has moved to a camp near the castle. They succeed in defeating Gotus, the guardsman, and Fynn is retaken.
- Hilda tells them that since Mindu has not returned from his quest for Ultima, they should go to Mysidia to search for him. To do so, though, they need the White Mask hidden in the Fynn Castle Basement. With a hint from Pavel, they find it and head for Mysidia.
- They learn that the Ultima magic is hidden in Mysidia Tower. To enter, they need the Crystal Rod hidden in the Mysidia Cave; to gain access to that, they need the Black Mask hidden in Tropical Island.
- Before they can get there, they are swallowed by Leviathan, a sea monster who defends the Ultima spell. Leila disappears. They find an entire village of people swallowed by the monster as they searched for Ultima; included in these is the Dragoon Gareth, who joins them. Eventually they find their ship and escape Leviathan's maw to enter Mysidia Tower. They find four crystal orbs and the Ultima magic inside the tower; Mindu sacrifices himself to break the seal to the Ultima magic.
- When they come out they discover that the Paramecian Emperor has unleashed a whirlwind which destroyed Altair, Gatea, Paloom, and Poft, and Fynn is under attack. Powerful monsters have been unleashed on the world as well. Leila is in Fynn, having gotten out of Leviathan by herself. They discover that the egg from Deist Cave has hatched into a Wind Drake, which flies them to the Whirlwind, where the Emperor hides.
- They manage to reach the Emperor and defeat him, but he has signed a pact with the Devil after which he is allowed to return from death. Before he does so, though, the Dark Knight takes over the Emperor's throne and rules from Paramecia Castle.
- Cid, who was fatally wounded by the Whirlwind, leaves his Airship to the three youths and Gareth. They use it to reach the mountain-bound Paramecia Castle. When they reach the throne room, the newly-resurrected Emperor tries to kill the three youths, Gareth, and the Dark Knight, who reveals his real self as Leon. Gareth Deistracts the emperor long enough for the other four to escape, but is killed for his efforts.
- The emperor changes Paramecia Castle to Pandaemonium, which is connected to Hell. The four youths manage to reach the new castle by going through the magical Jade Portal. They confront the Emperor and defeat him for once and for all.
Side Quests:
- South of Kas'ion is a secret forest where a Chocobo lives. If you catch it you can ride it without being accosted by enemies.

Soul of Rebirth (GBA/PSP):
- Following the defeat of Emperor Palamecia, the thought-to-be deceased White Wizard Minwu awakens in front of the Jade Passage entrance.
- Upon entering the passage, Minwu sees three Black Knights and man who appears to be Gordon. The two defeat the knights and Minwu discovers that the man is not Gordon at all, but his elder brother Scott. After a brief discourse, Minwu and Scott realize they both had fallen in their efforts against the empire and theorize that they must be in Hell, or perhaps Jade.
- After exploring their surroundings, Minwu and Scott come upon Josef and Borghen, two men also thought to have been killed in the main game's happenings. Speaking about finally having obtained eternal life in this strange place, Borghen attacks Josef and a battle ensues with Minwu and Scott coming to Josef's aid. The battle ends and the three men talk, realizing once again that they all have shared the same fate. Talk of the passage to Hell, Jade, is brought up again, with Minwu hypothesizing that perhaps the reason they are here is that they have some unfinished task left yet to accomplish.
 Upon approachng it, a voice declares, "Not so fast! This one's mine." A dragoon appears from above, the dragoon citing that the beast had followed him all the way to Hell, and a battle with the Roundworm commences. The four defeat the worm , the dragoon instantly being recognized as Ricard. He informs the rest that Firion and co. were able to claim Ultima but that the Emperor had risen from Hell with hideous power, postulating that it was from this very place that he drew it from. After again coming to the realization that they all died facing the empire and that they are in the passsageway to the location that the Emperor aquired his power from, they put the pieces together that perhaps their meeting here is no coincidence.
- The four finally come upon what looks to be a makeshift town in the middle of Hell. Entering the pub, Minwu spots Cid. Cid explains that this place was just how one would picture Hell, with monsters feeding on anyone they could catch. By the time they found a haven free of monsters to build the town, many had already perished. Cid, however, refutes the idea that the place is actually Jade, asking why innocent children would reside here.
- Coming upon a seal just like the one that Minwu sacrificed his life for prior, Minwu casts a massive spell on it. This time merely fainting instead of dying, Minwu determines that since he died in life, it is his destiny to wield Ultima this time to put a stop to whatever machinations are going on here.
- The group finally comes upon the chamber of the crystals. Upon touching them, each bestow upon them their gifts (in the form of stat increases). When they touch the final, center crystal, Ultima Weapon appears to challenge the party for the right to bear Ultima. After defeating the beast, Ultima Weapon bestows the legendary spell upon Minwu.
- After entering a portal in Machanon, the party comes upon a castle they take to be Pandaemonium. Ascending to he final floor, they come upon the Emperor. The Emperor explains that after being defeated by Firion, he split into his light and dark halves, his dark side plummeting into Hell to become the master of Pandemonium. Surprised, Mindu asks if this isn't Hell. The Emperor continues, saying that the passage they thought was Jade was actually Raqia and that they now stand in Arubboth, palace of the heavens. Having become lord of Arubboth, the Emperor asks them for forgiveness, and would in return give them eternal life in this realm. Not ones to so easily forget the injustices commited by the Emperor and following a scene flashing back to important people in their lives, the party engages the Light Emperor in battle.
- After defeating the Light Emperor, the scene shifts to Firion and the rest of the party defeating the Dark Emperor with Minwu, Scott, Josef, and Ricard watching over them as celestial entities. The scene and the dungeon end with their souls putting faith and hope into the hands of their living allies, hoping that they can reverse the legacy of violence that they tried so hard to stop.
Final Fantasy, all games and animation bearing the Final Fantasy name, and all characters in said games or animation are copyright their respective creators, including but not limited to Squaresoft, Square Enix, Square EA, Tokyo TV, and ADV Films.


See Beautiful Pictures From BamTeddy19 In Dubai
by Faderera FaladeOfficial photos from wedding of Teddy and Bambam, former Big Brother 9ja housemates in Dubai has emerged.
See photos below:
eee
Official photos from wedding of Teddy and Bambam, former Big Brother 9ja housemates in Dubai has emerged.
See photos below:
eee


Guillermo Rauch
Guillermo is the founder of ZEIT, co-creator of Now and Next.js, and former CTO and co-founder of LearnBoost and Cloudup, acquired by wordpress.com in 2013.
He's a former mentor of an Open Source Engineering class organized and pioneered by Stanford, with students from Harvard, MIT, Carnegie Mellon, UPenn, Columbia and others.
He's the creator of socket.io, one of the most popular JavaScript projects on GitHub, and of the first MongoDB ORM for Node.js: MongooseJS. Before that he was a core developer of the MooTools JavaScript framework. He's the author of "Smashing Node.js" published by Wiley in 2012, best-selling book about Node.js on Amazon in multiple programming categories.
Talk: From Servers to Serverless
ZEIT Now enables deploying any serverless application instantly. With just one command ('now' or 'git push') you get a URL back with your working deployment, which takes advantage of a global CDN network that automatically serves your static assets (such as a static frontend) and invokes lambdas on-demand. Deploying is faster. The resulting websites and applications load faster. Failures are minimized or flat-out disappear. No monitoring is required. It all sounds like heaven... except serverless is different. This talk will explore how we are helping developers get all these benefits and migrate from a serverful world without a hassle.


Stencil is a modern templating language for webby things, inspired heavily by Django Templates, the Twig Project, the Python language and others.
Stencil templates can either be raw text or XML. XML templates can target XML, HTML or mail messages (through a custom XML format).
The goals of Stencil are ease-of-use, predictable behavior and syntax and readability.
The code that generates the output from a Stencil template binds a set of objects to a set of global names. These globally-bound objects and their fields can then be rendered by the template.
A Stencil template contains text or XML content alongside commands in specially delimited blocks. There are four kinds of blocks:
{{
and }}
, which are used to print values into the output.{%
and %}
, which are used to control the
flow of execution in the template.{#
and #}
, which are ignored in the final output.{%%%
and %%%}
, which are used to escape blocks that contain
content that looks like special Stencil syntaxYou can output a value in a template by putting a reference to it directly in a print block.
2 + 2 = {{ 4 }}2 + 2 = 4
A value can be any sort of expression:
2 + 2 = {{ 2 + 2 }}2 + 2 = 4
A value can also be a reference to globally-bound object, or a field one of the globally-bound objects:
Hello, {{ person.name }}, you look {{ person.mood }} today!Hello, Bob, you look happy today!
Occasionally you'll want to surround a printed value with
something that looks like the template print delimiters, {{
and }}
. Stencil is smart enough to deal with this case
without any special syntax:
{{ person.age }} {{{ person.age }}} {{{{ person.age }}}}1 {1} {{1}}
Statement blocks are used to control the flow of executing in the template.
A statement block can contain one or more statements, like if and for.
{% if person.mood == 'happy': ='great!'; else: ='uh-oh!'; end; %}great!
If you want to specify something that looks like template syntax,
like {{ something }}
or {% something %}
, you
can either print the first few characters with a template print block,
or use the raw template markers, {%%%
and %%%}
:
This is an example of Stencil formatting: {{ '{{' }} x }} {%%% This is an example of Stencil formatting: {{ x }} %%%}This is an example of Stencil formatting: {{ x }} This is an example of Stencil formatting: {{ x }}
Numbers in Stencil are either integers or floats. If a number starts with 0x, it is interpreted as a hexadecimal integer. If a number in a template has a decimal point, it is interpreted as a float, otherwise it is interpreted as an integer.
1234 0x1234 1234.0
Strings in Stencil are always immutable and support UTF-16 unicode (characters from \u0000-\uffff).
Strings are written as they are in Javascript and Python:
"This is a string" 'This is also a string!'
You can escape quote characters within a string with a backslash,
\
. A single quote doesn't need to be escaped when double
quotes are used for the string and vice-versa:
"\"He said that, didn't he?\" said Chuck." '"He said that, didn\'t he?" said Chuck.'
Other characters can be specified with their hex equivalent (via
\xAB
) or their unicode hex equivalent (via \uABCD
):
"Non-breaking space: \u00a0." "The lowercase letter f: \x66"
Any character may be escaped with a backslash, including the backslash itself:
| Escape Code | Equivalent | Description |
|---|---|---|
| \\ | \ | Backslash |
| \" | " | Double quote |
| \' | ' | Single quote |
Control characters may also be specified using shortcuts:
| Escape Code | Equivalent | Description |
|---|---|---|
| \b | \u0008 | Horizontal backspace |
| \t | \u0009 | Horizontal tab |
| \n | \u000a | Linefeed |
| \f | \u000c | Form feed |
| \r | \u000d | Carriage return |
Strings containing many escape characters may use the alternative syntax. If you start a string with """ or ''', the string continues until the matching """ or ''' is encountered. No escape characters are processed inside of these strings:
{{ """foo\n"" bar""" }} {{ '''foo"""bar''' }}foo\n"" bar foo"""bar
Strings can be sliced as they can in Python by specifying the
start, end and stride. If the start is omitted, the start is assumed to
be the beginning of the string. If the end is omitted, the end is
assumed to be the end of the string. If the stride is omitted, it is
assumed to be 1
.
The slice operator uses the form [start:end:stride]
.
It is not an error to specify an index that isn't valid. The beginning
and end index will always be clamped to the beginning and end of the
string if it is out of bounds.
"0123456789"[2] -> "2" "0123456789"[:2] -> "01" "0123456789"[:-2] -> "01234567" "0123456789"[-1] -> "9" "0123456789"[2:11] -> "23456789" "0123456789"[2:10] -> "23456789" "0123456789"[2:10:2] -> "2468" "0123456789"[2:4] -> "23" "0123456789"[2:-2] -> "234567" "0123456789"[-11:2] -> "01"
Lists in Stencil may be provided by an object property or specified inline in the template as a literal.
You can access individual list elements using the index operator. Negative indexes are relative to the end of the array (-1 is the last element):
{{ x[0] }} {{ x[1] }} {{ x[2] }} {{ x[-1] }} {{ x[-2] }}Item at index 0 Item at index 1 Item at index 2 Item at index 2 Item at index 1
Lists can also be sliced with the slice operator. The slice
operator uses the form [start:end:stride]
. It is not an
error to specify an index that isn't valid. The beginning and end index
will always be clamped to the beginning and end of the string if it is
out of bounds:
{% for y in x[2:] %}{{ y }}{% end %}Item at index 2 Item at index 3 Item at index 4 ...
Stencil allows you to specify a list literal directly in the code using the list syntax. The list literals can be used with the for statement:
{% for x in [1,2,3] %} {{ x }} {% end %}1 2 3
Maps in Stencil may be provided by an object property.
Use x.blah
or x["blah"]
Each step in the for loop will return a pair of key and value in an array, like so:
{% for x in map %} key = {{ x[0] }}, value = {{ x[1] }} {% end %}key = a, value = 1 key = b, value = 2
Ranges in Stencil allow iteration between two numeric values. A range is indicated by
the to
keyword:
{% for i in 1 to 10 %}{{ i }} {% end %} {% for i in 10 to 1 %}{{ i }} {% end %}1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1
Ranges automatically choose +1 or -1 as the stride, depending on the relative values of the
start and end. If you want to override this, use the by
keyword:
{% for i in 1 to 10 by 2 %}{{ i }} {% end %} {% for i in 10 to 1 by -2 %}{{ i }} {% end %}1 3 5 7 9 10 8 6 4 2
The start number in a range is always printed. The end number in a range is printed if the iteration falls on it exactly:
{% for i in 1 to 9 by 2 %}{{ i }} {% end %} {% for i in 1 to 10 by 2 %}{{ i }} {% end %} {% for i in 1 to 11 by 2 %}{{ i }} {% end %}1 3 5 7 9 1 3 5 7 9 1 3 5 7 9 11
You can retrieve properties from an object using the dot operator:
person.nameBob
If the left-hand side of the dot operator doesn't exist, the operator returns null and prints a warning. To avoid the warning in this case, use the ?. operator:
noperson.nameno output, returns a warning
noperson?.nameno output, no warning
Filters transform output, much like unix pipe commands. A filter is invoked using the filter operator |, followed by the name of the filter to invoke.
The built-in filters offer ways to convert between types, format strings and more.
| Name | Description | Example |
|---|---|---|
| raw | Converts the input into a raw string, bypassing HTML escaping | " "|raw |
| escape | Converts the input into a raw string, HTML escaping along the way | "
"|escape |
| urlencode | URL-encodes the given string | 'urlunsafe%#'|urlencode |
| string | Converts the input into a regular string | 1234|string |
| int | Converts the input into an integer, or null if it can't be converted | "1234"|int |
| float | Converts the input into a float, or null if it can't be converted | "1234.1"|float |
| size | Retrieves the size of the input (string or array length) | [1,2,3]|size |
| join | Joins a collection of items together | [1,2,3]|join |
| format | Formats a string from the passed array or singular object using the Java formatting rules | [1,2,'a']|format("%d/%d: %s") |
Stencil provides a set of math operators for common operations.
TODOBoolean operators coerce their operand(s) to a boolean before performing the operations.
| Symbol | Description | Example |
|---|---|---|
| and | Boolean AND | true and true |
| or | Boolean OR | true or false |
| ^ | Boolean XOR | true ^ false |
| not | Boolean NOT | not false |
Bitwise operators coerce their operand(s) to integer before performing the operations.
| Symbol | Description | Example |
|---|---|---|
| and | Bitwise AND | 1234 and 7 |
| or | Bitwise OR | 1234 or 7 |
| ^ | Bitwise XOR | 1234 ^ 7 |
| ~ | Bitwise ones-compliment | ~1234 |
| << | Bitwise left-shift | 1234 << 2 |
| >> | Bitwise right-shift | 1234 >> 2 |
Stencil provides a set of common operators for comparing two values. For all comparisons, a set of conversions will happen internally:
| Symbol | Description | Example |
|---|---|---|
| < | Less-than | 2 < 3 |
| > | Greater-than | 3 > 2 |
| == | Equals | 2 == 2 |
| == | Not-equals | 3 != 2 |
Stencil offers a conditional operator that, depending on the boolean value of its first argument, will return either the second or third argument. If the first argument is true, it returns the second argument. If the first argument is false, it returns the third argument.
The first argument is coerced to boolean before being evaluated.
{{ person.mood == 'happy' ? 'Yay!' : 'Boo!' }} {{ person.emailAddresses ? "You've set up email" : "You haven't set up email" }}Yay! You haven't set up email
The in
operator tests whether the left-hand-side argument
is contained within the right-hand-side argument.
If the right-hand-side argument is a string, Stencil tests for the left-hand-side argument within it:
"cab" in "death cab" 1 in "1stop" "bar" in "foo"true true false
If the right-hand-side is a list, array, range or iterable, Stencil tests for the element within it:
"cab" in ["car", "bus", "cab"] 1 in [1,2,3] 10 in 1 to 100true true true
If the right-hand-side is a map, Stencil tests for the element as a key within the map, using the standard map lookup rules:
(assuming map = {"cab":1}) "cab" in map "car" in maptrue false
Templates can contain control statements that affect the flow of execution of the template based on values of the input.
{% if expression
[{% elif %} ...]
[{% elif %} ...]
[{% else %} ...]
{% end %}
An if
block will optionally render a part of the
template, based on a condition expression. The result of the condition
expression is coerced to a boolean.
{% if person.mood == "happy" %} Glad to see you! {% end %} {% if person.mood == "sad" %} What's wrong? {% end %}Glad to see you!
You can also specify an else
block that will be
executed if the condition evaluates to false
:
{% if person.mood == "happy" %} Glad to see you! {% else %} What's wrong? {% end %}Glad to see you!
If you have a number of if
blocks and only want one
to execute, you can use elif
:
{% if person.mood == "happy" %} Glad to see you! {% elif person.mood == "mad" %} Whoa, calm down! {% elif person.mood == "sad" %} What's wrong? {% else %} I can't read you! {% end %}What's wrong?
An if block test will fail if you pass an empty list. This is useful for rendering lists with empty alternatives:
{% if person.emailAddresses %}
 {% for x in person.emailAddresses %}
{{ x }}
 {% else %}
Nothing!
 {% end %}
 {% else %}
No email addresses
 {% end %}No email addresses
A for
block can be used to loop over a collection of
objects.
{% for id in collection [where where_expression] [order by order_expression] [limit limit_expression] %} [{% join %} ...] [{% else %} ...] {% end %}

Your addresses:

 {% for x in person.emailAddresses %}
{{ x }}
 {% end %}

Your addresses:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

If you pass a string as the loop object, you can loop over its characters:
Hello, {% for x in person.name %}[{{ x }}]{% end %}!Hello, [B][o][b]!
Use the join block to specify a pattern to fill in between items:
Hello, {% for x in people %}{{ x }}{% join %}, {% end %}!Hello, Bob, Mary, Judy, Anna!
You can specify an else
block to a for
loop that will be executed if there are no items in the collection:

Your addresses:

 {% for x in person.emailAddresses %}
{{ x }}
 {% else %}
Nothing!
 {% end %}

Your addresses:

Nothing!

A for
loop may also have a limit. The limit is
evaluated at run-time, so it may be any numeric expression:

Your addresses:

 {% for x in person.emailAddresses limit person.emailAddressesToShow %}
{{ x }}
 {% end %}

Your addresses:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

You can force a for
loop to continue to the next
item with the continue
command:

Your addresses:

 {% for x in person.emailAddresses %} {% if x.hidden: continue; end; %}
{{ x.address }}
 {% end %}

Your addresses:

<EMAIL_ADDRESS>

Stencil templates allow you to define and assign to local variables to implement simple counters and logic:
{% var x = 1 %} x is now {{ x }} {% x = x + 1 %} x is now {{ x }}x is now 1 x is now 2
Variables are scoped, meaning that the assignment operator will assign to the variable with the given name in the closest matching scope and accessing the variable by name will access the variable in the closed scope. When the block ends, the variable is torn down and no longer exists:
{% var x = 1 %} x is now {{ x }} {% if true %} {% var x = 10 %} x is now {{ x }} {% x = x + 1 %} x is now {{ x }} {% end %} {% x = x + 1 %} x is now {{ x }}x is now 1 x is now 10 x is now 11 x is now 2


--- layout: post status: publish published: true title: VMworld 2009 - Keynote Thoughts author: display_name: iguy login: iguy email<EMAIL_ADDRESS>url: '' author_login: iguy author_email<EMAIL_ADDRESS>wordpress_id: 217 wordpress_url: http://itsjustanotherlayer.com/?p=217 date: !binary |- MjAwOS0wOS0wMSAxNTo1NzoyOSAtMDUwMA== date_gmt: !binary |- MjAwOS0wOS0wMSAxNTo1NzoyOSAtMDUwMA== categories: - Server Virtualization - VMware tags: - keynote - vmworld comments: - id: 56 author: VMworld 2009 (San Francisco) – Linkage » Yellow Bricks author_email: '' author_url: http://www.yellow-bricks.com/2009/09/07/vmworld-2009-san-francisco-linkage/ date: !binary |- MjAwOS0wOS0wNyAyMDowMDozOCAtMDUwMA== date_gmt: !binary |- MjAwOS0wOS0wNyAyMDowMDozOCAtMDUwMA== content: ! '[...] iGuy – VMworld 2009 Keynote thoughts [...]' - id: 57 author: VMware vSphere - виртуализация ЦОД » Подборка ссылок с VMware VMworld 2009 author_email: '' author_url: http://www.vsphere.ru/2009/09/vmware-vmworld-2009-links/ date: !binary |- MjAwOS0wOS0wOSAxMToxMTozOCAtMDUwMA== date_gmt: !binary |- MjAwOS0wOS0wOSAxMToxMTozOCAtMDUwMA== content: ! '[...] iGuy – VMworld 2009 Keynote thoughts [...]' - id: 58 author: Santiago Sim author_email<EMAIL_ADDRESS>author_url: http://www.fredelspritz.com date: !binary |- MjAxMS0wMi0wMyAwNTozOToxMSAtMDYwMA== date_gmt: !binary |- MjAxMS0wMi0wMyAxMTozOToxMSAtMDYwMA== content: I was wondering if you ever thought of changing the layout of your website? Its very well written; I love what youve got to say. But maybe you could a little more in the way of content so people could connect with it better. Youve got an awful lot of text for only having 1 or two pictures. Maybe you could space it out better? ---
Ok.. Its proven. No-one in the industry can keep up with Scott with blogging. You want a live blog go here.
The Cloud. Business Complexity. Give businesses Flexibility.
The great question is how do you do this? Much of the point is "Simplify so things can happen since it is so complex today." People understand the current environments where application stacks exist on physical hardware instances and it works. Complex, though it works.
The Cloud that VMware is proposing is a layer between this hard tie of Physical Hardware to the Application Stack. Much of this is not anything new to folks. It is a straight up thought of API development. Take something that lot of different systems/interfaces do and abstract it into an object with well defined interfaces.
By adding in this additional layer IT and business can simplify those interactions. This is an amazing and great piece of simplification that is being offered. Not something to make light of if one has worked in a seriously large IT shop. VMware is the only company I've seen to date that has taken a serious analysis of these interfaces between the different technologies and domains involved in supplying services from IT to the business side. This covers all the various pieces of the VMware structure like vSecurity, vStorage, vNetwork, vCompute, vAvailability, vScalability and the other vStuff.
The individualized components that now have well defined (or at least a first run at it) of these interfaces. So the complexity can still exist inside of the box that is defined though others can deal with that component in a nice clean way.
Then too you can start producing some nice flexibility to do auto provisioning and self management. Since you have this API you can control anything that talks to those interaction points. This is why VMware is on the cutting edge and Microsoft & Citrix are still behind.


task_join(t, @optional timeout, timeout_val)
Causes the current task to wait until the task t
terminates (normally or not) or until the
timeout
is reached (if timeout
is supplied). If timeout
is reached,
return timeout_val
(if it is supplied), otherwise a join-timeout-exception
object
is raised. If t
terminated normally, the content of its end-result
field is
returned, otherwise the content of its end-exception
field is raised. (Both these fields are private to
the task object and cannot be accesses through other means).