Search Results

Search found 28756 results on 1151 pages for 'op amp'.

Page 506/1151 | < Previous Page | 502 503 504 505 506 507 508 509 510 511 512 513  | Next Page >

  • Great Web Apps With New HTML5 APIs

    Great Web Apps With New HTML5 APIs This talk is in hebrew. It cover new techniques for building modern web apps and how to utilize the latest HTML5 APIs to create a new class of web apps that will delight and amaze your users. In this talk, Ido Green, developer advocate in Google and the author of Web Workers, will cover the following: - HTML5 APIs - New and useful. - Some tips on Chrome DevTools - ChromeOS update. From: GoogleDevelopers Views: 301 35 ratings Time: 01:08:05 More in Science & Technology

    Read the article

  • Academy Webcast: Moving C/S applications to Windows Azure

    - by Visual WebGui
    The Cloud and SaaS models are changing the face of enterprise IT in terms of economics, scalability and accessibility. As I wrote before Visual WebGui Instant CloudMove transforms your Client / Server application code to run natively as .NET on Windows Azure and enables your Azure Client / Server application to have a secured-by-design plain Web or Mobile browser based accessibility. On Tuesday 8 March at 8am (USA Pacific Time) Itzik Spitzen VP of R&D @ Gizmox will present a webcast on Microsoft...(read more)

    Read the article

  • [OT] Gates Millenium Scholars scholarship program

    - by John Paul Cook
    Here's a notice about scholarship opportunities that many students may miss because of being out for the holidays. If you know a bright, deserving student, please alert him or her to this outstanding scholarship opportunity. Here is what I want for Christmas from you, my readers. I want to see LOTS of comments about how you informed a student about this scholarship or otherwise got the word out. Dear Student, The Bill & Melinda Gates Foundation proudly announces the 2011 Gates Millennium Scholars...(read more)

    Read the article

  • SceneManagers as systems in entity system or as a core class used by a system?

    - by Hatoru Hansou
    It seems entity systems are really popular here. Links posted by other users convinced me of the power of such system and I decided to try it. (Well, that and my original code getting messy) In my project, I originally had a SceneManager class that maintained needed logic and structures to organize the scene (QuadTree, 2D game). Before rendering I call selectRect() and pass the x,y of the camera and the width and height of the screen and then obtain a minimized list containing only visible entities ordered from back to front. Now with Systems, originally in my first attempt my Render system required to get added all entities it should handle. This may sound like the correct approach but I realized this was not efficient. Trying to optimize It I reused the SceneManager class internally in the Renderer system, but then I realized I needed methods such as selectRect() in others systems too (AI principally) and make the SceneManager accessible globally again. Currently I converted SceneManager to a system, and ended up with the following interface (only relevant methods): /// Base system interface class System { public: virtual void tick (double delta_time) = 0; // (methods to add and remove entities) }; typedef std::vector<Entity*> EntitiesVector; /// Specialized system interface to allow query the scene class SceneManager: public System { public: virtual EntitiesVector& cull () = 0; /// Sets the entity to be used as the camera and replaces previous ones. virtual void setCamera (Entity* entity) = 0; }; class SceneRenderer // Not a system { vitual void render (EntitiesVector& entities) = 0; }; Also I could not guess how to convert renderers to systems. My game separates logic updates from screen updates, my main class have a tick() method and a render() method that may not be called the same times. In my first attempt renderers were systems but they was saved in a separated manager, updated only in render() and not in tick() like all other systems. I realized that was silly and simply created a SceneRenderer interface and give up about converting them to systems, but that may be for another question. Then... something does not feel right, isn't it? If I understood correctly a system should not depend on another or even count with another system exposing an specific interface. Each system should care only about its entities, or nodes (as optimization, so they have direct references to relevant components without having to constantly call the component() or getComponent() method of the entity).

    Read the article

  • Make Browsing Safer for Children in Google Chrome

    - by Asian Angel
    If you are worried about the websites that your children could accidentally visit while browsing, then you may want to have a look at the Kid Safe – LinkExtend extension for Google Chrome. Kid Safe – LinkExtend in Action Before going any further you may want to have a quick look at the options. Everything is enabled by default but it is recommended that you disable the “Allow entering unsafe sites Option”. For our first example we visited “chatroulette.com”. As you can see in the screenshot WOT and McAfee SiteAdvisor gave the website a “green rating” but when it came specifically to its’ level of appropriateness for children LinkExtend gave it a “yellow rating”. Our second example was “hotbabes.com”…obviously not a good website for any child to visit. You can see that the entire window area has been totally “blacked out” and the available information for this site from each of the six ratings sources. The “Toolbar Button” is also displaying a “red rating”… Notice the two links at the bottom of the ratings screen…both will be visible if the “Allow entering unsafe sites Option” is not disabled (see Options above). You can see the difference for the links at the bottom of the ratings screen if you have the “Allow entering unsafe sites Option” disabled. Definitely much much better… Clicking on the “Find Kids Sites Link” will navigate the tab to the Yahoo! Kids website. The extension will also place “ratings buttons” beside search results at Google. As you can see in the screenshot below not all of the results had information available for them at this time. But it is certainly a lot better than nothing at all when it comes to keeping your children safe. A close-up look at the ratings for one of the search results. Conclusion While no browser add-in makes for a perfect solution the Kid Safe – LinkExtend extension will definitely be a helpful addition to your family’s Chrome browser. Links Download the Kid Safe – LinkExtend extension (Google Chrome Extensions) Similar Articles Productive Geek Tips How to Make Google Chrome Your Default BrowserAccess Browsing History in Google Chrome the Easy WayFocused New Tabs Quick-Fix for Google ChromeVisually Browse Through Your Open Tabs in Google ChromeSubscribe to RSS Feeds in Chrome with a Single Click TouchFreeze Alternative in AutoHotkey The Icy Undertow Desktop Windows Home Server – Backup to LAN The Clear & Clean Desktop Use This Bookmarklet to Easily Get Albums Use AutoHotkey to Assign a Hotkey to a Specific Window Latest Software Reviews Tinyhacker Random Tips DVDFab 6 Revo Uninstaller Pro Registry Mechanic 9 for Windows PC Tools Internet Security Suite 2010 Awe inspiring, inter-galactic theme (Win 7) Case Study – How to Optimize Popular Wordpress Sites Restore Hidden Updates in Windows 7 & Vista Iceland an Insurance Job? Find Downloads and Add-ins for Outlook Recycle !

    Read the article

  • The Alexandria Project, Chap. 11: Have I got an App for You!

    <b>Standards Blog:</b> "While CIA Agent Carl Cummings was being taught to heel, Frank was sitting at his kitchen table, tapping away at the cramped keyboard of a cheap netbook connected to a neighbor&#8217;s unsecured WiFi network. Even this was risky, he reminded himself, so this brief session would have to be his last until he moved on."

    Read the article

  • Google Drive SDK: Writing your First App in Java

    Google Drive SDK: Writing your First App in Java During this session we'll show how to build a complete Java application that uses the Google Drive API to upload a file into the user's Drive account. If you follow along with the presentation, you can have a working Drive command-line application running by the end of the session. From: GoogleDevelopers Views: 0 0 ratings Time: 00:00 More in Science & Technology

    Read the article

  • Remove Clutter from the Opera Speed Dial Page

    - by Asian Angel
    Do you want to clean up the Speed Dial page in Opera so that only the thumbnails are visible? Today we show you a couple of tweaks that will make it happen. Speed Dial Page The search bar and text at the bottom take up room and add clutter to the look and feel of Opera’s Speed Dial page. Changing the Settings Two small tweaks to the config settings will clean it all up. To get started type opera:config into the address bar and press enter. Type “speed” into the quick find bar and look for the Speed Dial State entry. Change the 1 to 2 and click save. You will see the following message concerning the changes…click OK. Next type “search” into the quick find bar and look for the Speed Dial Search Type entry. Remove all of the text in the blank and click save. Once again you will see a message about the latest change that you have made. At this point you may need to restart Opera for both changes to take full effect. There will be a noticeable difference in how the Speed Dial page looks afterwards and is much cleaner without the Search bar and text field. You will also still be able to access the right click context menu just like before. Conclusion If you have been looking to get a cleaner and less cluttered Speed Dial page in Opera, then these two little hacks will get the job done! Similar Articles Productive Geek Tips Set the Speed Dial as the Opera Startup PageReplace Google Chrome’s New Tab Page with Speed DialSpeed up Windows Vista Start Menu Search By Limiting ResultsBlank New Tab Quick-Fix for Google ChromeMonitor and Control Memory Usage in Google Chrome TouchFreeze Alternative in AutoHotkey The Icy Undertow Desktop Windows Home Server – Backup to LAN The Clear & Clean Desktop Use This Bookmarklet to Easily Get Albums Use AutoHotkey to Assign a Hotkey to a Specific Window Latest Software Reviews Tinyhacker Random Tips VMware Workstation 7 Acronis Online Backup DVDFab 6 Revo Uninstaller Pro Backup Outlook 2010 Daily Motivator (Firefox) FetchMp3 Can Download Videos & Convert Them to Mp3 Use Flixtime To Create Video Slideshows Creating a Password Reset Disk in Windows Bypass Waiting Time On Customer Service Calls With Lucyphone

    Read the article

  • Oracle Technology Network April 2012 Special Offers

    - by programmarketingOTN
    Several of our books publishing partners have added new titles to the list of books they are offering discounts on.  To see full details and get discount links/codes please visit the OTN Member Discount page.  The Oracle store has also extended their 15% discount until the end of the month as well.  Happy Shopping!Oracle Press - Effective MySQL: Backup and Recovery Oracle Database 11g Performance Tuning Tips & Techniques Packt Publishing - Oracle WebCenter 11g PS3 Administration Cookbook Oracle Service Bus 11g Development Cookbook Pearson Java Application Architecture

    Read the article

  • Google I/O 2012 - Advancing Accessibility for the Web

    Google I/O 2012 - Advancing Accessibility for the Web Rachel Shearer, Dominic Mazzoni, Charles Chen This session will help you learn through code samples and real world examples how to design and test your web apps for complete accessibility coverage. We will review APIs such as the Text-to-speech (TTS) API, tools like ChromeVox and ChromeShades and how Google products implement solutions today for users with disabilities. For all I/O 2012 sessions, go to developers.google.com From: GoogleDevelopers Views: 61 3 ratings Time: 55:25 More in Science & Technology

    Read the article

  • Google I/O 2012 - Up Close and Personal: NFC and Android Beam

    Google I/O 2012 - Up Close and Personal: NFC and Android Beam Martijn Coenen, Robert Hamilton A session covering the developer-oriented NFC features we've been adding to the Android platform. Learn how to use Android Beam to add magic sharing abilities to your application, and see what other new and exciting NFC features we're working on. For all I/O 2012 sessions, go to developers.google.com From: GoogleDevelopers Views: 251 4 ratings Time: 01:03:13 More in Science & Technology

    Read the article

  • F# Objects &ndash; Integrating with the other .Net Languages &ndash; Part 1

    - by MarkPearl
    In the next few blog posts I am going to explore objects in F#. Up to now, my dabbling in F# has really been a few liners and while I haven’t reached the point where F# is my language of preference – I am already seeing the benefits of the language when solving certain types of programming problems. For me I believe that the F# language will be used in a silo like architecture and that the real benefit of having F# under your belt is so that you can solve problems that F# lends itself towards and then interact with other .Net languages in doing the rest. When I was still very new to the F# language I did the following post covering how to get F# & C# to talk to each other. Today I am going to use a similar approach to demonstrate the structure of F# objects when inter-operating with other languages. Lets start with an empty F# class … type Person() = class end   Very simple, and all we really have done is declared an object that has nothing in it. We could if we wanted to make an object that takes a constructor with parameters… the code for this would look something like this… type Person =     {         Firstname : string         Lastname : string     }   What’s interesting about this syntax is when you try and interop with this object from another .Net language like C# - you would see the following…   Not only has a constructor been created that accepts two parameters, but Firstname and Lastname are also exposed on the object. Now it’s important to keep in mind that value holders in F# are immutable by default, so you would not be able to change the value of Firstname after the construction of the object – in C# terms it has been set to readonly. One could however explicitly state that the value holders were mutable, which would then allow you to change the values after the actual creation of the object. type Person = { mutable Firstname : string mutable Lastname : string }   Something that bugged me for a while was what if I wanted to have an F# object that requires values in its constructor, but does not expose them as part of the object. After bashing my head for a few moments I came up with the following syntax – which achieves this result. type Person(Firstname : string, Lastname : string) = member v.Fullname = Firstname + " " + Lastname What I haven’t figured out yet is what is the difference between the () & {} brackets when declaring an object.

    Read the article

  • YouTube Developers Live: Playlist Party Picker

    YouTube Developers Live: Playlist Party Picker Submit your questions here: goo.gl Danny Hermes, Jeff Posnick and JJ Behrens discuss how they built Party Playlist Picker, a Python App Engine application that lets Google+ users collaboratively edit YouTube Playlists. More details are at apiblog.youtube.com Helpful Links: OAuth2 for GData APIs - googleappsdeveloper.blogspot.com Channel API - developers.google.com Memcache - developers.google.com From: GoogleDevelopers Views: 141 18 ratings Time: 40:14 More in Science & Technology

    Read the article

  • Map and fill texture using PBO (OpenGL 3.3)

    - by NtscCobalt
    I'm learning OpenGL 3.3 trying to do the following (as it is done in D3D)... Create Texture of Width, Height, Pixel Format Map texture memory Loop write pixels Unmap texture memory Set Texture Render Right now though it renders as if the entire texture is black. I can't find a reliable source for information on how to do this though. Almost every tutorial I've found just uses glTexSubImage2D and passes a pointer to memory. Here is basically what my code does... (In this case it is generating an 1-byte Alpha Only texture but it is rendering it as the red channel for debugging) GLuint pixelBufferID; glGenBuffers(1, &pixelBufferID); glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pixelBufferID); glBufferData(GL_PIXEL_UNPACK_BUFFER, 512 * 512 * 1, nullptr, GL_STREAM_DRAW); glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0); GLuint textureID; glGenTextures(1, &textureID); glBindTexture(GL_TEXTURE_2D, textureID); glTexImage2D(GL_TEXTURE_2D, 0, GL_R8, 512, 512, 0, GL_RED, GL_UNSIGNED_BYTE, nullptr); glBindTexture(GL_TEXTURE_2D, 0); glBindTexture(GL_TEXTURE_2D, textureID); glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pixelBufferID); void *Memory = glMapBuffer(GL_PIXEL_UNPACK_BUFFER, GL_WRITE_ONLY); // Memory copied here, I know this is valid because it is the same loop as in my working D3D version glUnmapBuffer(GL_PIXEL_UNPACK_BUFFER); glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0); And then here is the render loop. // This chunk left in for completeness glUseProgram(glProgramId); glBindVertexArray(glVertexArrayId); glBindBuffer(GL_ARRAY_BUFFER, glVertexBufferId); glEnableVertexAttribArray(0); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 20, 0); glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 20, 12); GLuint transformLocationID = glGetUniformLocation(3, 'transform'); glUniformMatrix4fv(transformLocationID , 1, true, somematrix) // Not sure if this is all I need to do glBindTexture(GL_TEXTURE_2D, pTex->glTextureId); GLuint textureLocationID = glGetUniformLocation(glProgramId, "texture"); glUniform1i(textureLocationID, 0); glDrawArrays(GL_TRIANGLES, Offset*3, Triangles*3); Vertex Shader #version 330 core in vec3 Position; in vec2 TexCoords; out vec2 TexOut; uniform mat4 transform; void main() { TexOut = TexCoords; gl_Position = vec4(Position, 1.0) * transform; } Pixel Shader #version 330 core uniform sampler2D texture; in vec2 TexCoords; out vec4 fragColor; void main() { // Output color fragColor.r = texture2D(texture, TexCoords).r; fragColor.g = 0.0f; fragColor.b = 0.0f; fragColor.a = 1.0; }

    Read the article

  • GDD-BR 2010 [0H] OpenID-based single sign-on and OAuth data access

    GDD-BR 2010 [0H] OpenID-based single sign-on and OAuth data access Speaker: Ryan Boyd Track: Chrome and HTML5 Time slot: H[17:20 - 18:05] Room: 0 A discussion of all the auth tangles you've encountered so far -- OpenID, SSO, 2-Legged OAuth, 3-Legged OAuth, and Hybrid OAuth. We'll show you when and where to use them, and explain how they all integrate with Google APIs and other developer products. From: GoogleDevelopers Views: 11 0 ratings Time: 41:24 More in Science & Technology

    Read the article

  • Google I/O 2012 - Get your Content on Google TV

    Google I/O 2012 - Get your Content on Google TV Christian Kurzke , Andrew Jeon, Mark Lindner Google TV devices are typically the largest screen in the house, which makes them a prime platform for developers who want to distribute high quality, long form content right to the living room. We will talk about different options for hosting, streaming and securing your content on Google TV, and how to ensure your audience has a great experience viewing your content. For all I/O 2012 sessions, go to developers.google.com From: GoogleDevelopers Views: 1562 26 ratings Time: 01:01:00 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: CardinalCommerce

    Google I/O Sandbox Case Study: CardinalCommerce We interviewed CardinalCommerce at the Google I/O Sandbox on May 10, 2011. They explained to us the benefits of integrating with Google Checkout. CardinalCommerce enables authenticated payments and alternative payment brands and is working with Google to create Google Mobile Wallet. For more information about developing with Google Commerce, visit: code.google.com For more information on CardinalCommerce, visit: www.cardinalcommerce.com From: GoogleDevelopers Views: 611 16 ratings Time: 02:19 More in Science & Technology

    Read the article

  • Google I/O 2010: Google TV Keynote - YouTube Leanback

    Google I/O 2010: Google TV Keynote - YouTube Leanback Due to licensing and permissions issues, we are unable to show the full Google TV demonstration from the Day 2 keynote at Google I/O. Until we are able to get these permissions, please check out these clips. For Google I/O session videos, presentations, developer interviews and more, go to: code.google.com/io From: GoogleDevelopers Views: 1 0 ratings Time: 02:56 More in Science & Technology

    Read the article

  • Oracle Partner Day 2012: Neue Geschäftschancen warten auf Sie!

    - by A&C Redaktion
    Wie gut kennen Sie die Neuerungen der Oracle "One Red Stack"-Unternehmensstrategie? In Zukunft werden Sie, als unser Partner, das gesamte Oracle Produktportfolio – Software, Hardware und Applications – verkaufen können! Ihr Profit: die neue Vielfalt. Toppen Sie Ihre Marktpräsenz! Erschließen Sie sich neue Märkte, neue Kundengruppen. Potenzieren Sie Ihren Erfolg in Zukunft! Maximize your Potential – das ist Ihr Stichwort für das Geschäftsjahr und unser Motto für den Oracle Partner Day am 29. Oktober 2012 in der Commerzbank Arena in Frankfurt. Erleben Sie in unseren Breakout Sessions, wo das Vertriebs-Plus für Sie liegt. Was Ihr Kunde wissen muss. Und wo Sie überzeugen können. Alle parallel laufenden Breakout Sessions werden wiederholt, damit Sie in jedem Fall daran teilnehmen können. Konzentriert auf Erfolg: das neue Oracle Alliances & Channel-Konzept Wir liefern Ihnen die entscheidenden Argumente für Kunden, die auf Nachhaltigkeit und Investitionssicherheit setzen. Für Sie, wenn Sie in Zukunft mehr erreichen wollen! Für alle, die Partner Excellence aus einer Hand anbieten können. Erfahren Sie die Produktneuheiten von der Oracle Open World (OOW) in San Francisco (30. September bis 4. Oktober 2012) aus erster Hand. In der Expert- und Partner Service-Zone finden Sie Antworten zu allen Themenschwerpunkten. Nutzen Sie dazu das neue Speed-Dating-Format, um schnell den richtigen Ansprechpartner für Ihre Fragen zu Vertrieb und Produkten zu finden. Machen Sie den Test. Wir zahlen die Testgebühr! Nutzen Sie die Gelegenheit, sich direkt zum OPN Implementation Specialist zu akkreditieren! Melden Sie sich jetzt an zum offiziellen Implementierungstest beim Testcenter Pearson Vue vor Ort beim Oracle Partner Day. Wählen Sie Ihre Fachbereiche Fusion Middleware, Applications, Hardware, Datenbank und gehen Sie als Implementierungsspezialist nach Hause. Kommen Sie zum Oracle Partner Day 2012 – aktives Partner Networking, Management Kontakte und Expertenwissen inklusive! Sichern Sie sich jetzt einen der begehrten Plätze und Ihre Teilnahme – auch am Test! Die Teilnahme ist für Sie als Oracle Partner selbstverständlich kostenfrei. Hier finden Sie weitere Informationen zum Oracle Partner Day und den Link zur Registrierung. Wir freuen uns auf Sie! Ihr Christian Werner Senior Director Alliances & Channels Germany P.S.: Direkt nach dem Oracle Partner Day findet der Oracle Day für Endkunden statt. Sie als Partner können gerne an dieser Veranstaltung gemeinsam mit Ihren Kunden teilnehmen, die Plätze sind limitiert. Hier finden Sie weitere Infos zum Oracle Day.

    Read the article

  • Oracle Partner Day 2012: Neue Geschäftschancen warten auf Sie!

    - by A&C Redaktion
    Wie gut kennen Sie die Neuerungen der Oracle "One Red Stack"-Unternehmensstrategie? In Zukunft werden Sie, als unser Partner, das gesamte Oracle Produktportfolio – Software, Hardware und Applications – verkaufen können! Ihr Profit: die neue Vielfalt. Toppen Sie Ihre Marktpräsenz! Erschließen Sie sich neue Märkte, neue Kundengruppen. Potenzieren Sie Ihren Erfolg in Zukunft! Maximize your Potential – das ist Ihr Stichwort für das Geschäftsjahr und unser Motto für den Oracle Partner Day am 29. Oktober 2012 in der Commerzbank Arena in Frankfurt. Erleben Sie in unseren Breakout Sessions, wo das Vertriebs-Plus für Sie liegt. Was Ihr Kunde wissen muss. Und wo Sie überzeugen können. Alle parallel laufenden Breakout Sessions werden wiederholt, damit Sie in jedem Fall daran teilnehmen können. Konzentriert auf Erfolg: das neue Oracle Alliances & Channel-Konzept Wir liefern Ihnen die entscheidenden Argumente für Kunden, die auf Nachhaltigkeit und Investitionssicherheit setzen. Für Sie, wenn Sie in Zukunft mehr erreichen wollen! Für alle, die Partner Excellence aus einer Hand anbieten können. Erfahren Sie die Produktneuheiten von der Oracle Open World (OOW) in San Francisco (30. September bis 4. Oktober 2012) aus erster Hand. In der Expert- und Partner Service-Zone finden Sie Antworten zu allen Themenschwerpunkten. Nutzen Sie dazu das neue Speed-Dating-Format, um schnell den richtigen Ansprechpartner für Ihre Fragen zu Vertrieb und Produkten zu finden. Machen Sie den Test. Wir zahlen die Testgebühr! Nutzen Sie die Gelegenheit, sich direkt zum OPN Implementation Specialist zu akkreditieren! Melden Sie sich jetzt an zum offiziellen Implementierungstest beim Testcenter Pearson Vue vor Ort beim Oracle Partner Day. Wählen Sie Ihre Fachbereiche Fusion Middleware, Applications, Hardware, Datenbank und gehen Sie als Implementierungsspezialist nach Hause. Kommen Sie zum Oracle Partner Day 2012 – aktives Partner Networking, Management Kontakte und Expertenwissen inklusive! Sichern Sie sich jetzt einen der begehrten Plätze und Ihre Teilnahme – auch am Test! Die Teilnahme ist für Sie als Oracle Partner selbstverständlich kostenfrei. Hier finden Sie weitere Informationen zum Oracle Partner Day und den Link zur Registrierung. Wir freuen uns auf Sie! Ihr Christian Werner Senior Director Alliances & Channels Germany P.S.: Direkt nach dem Oracle Partner Day findet der Oracle Day für Endkunden statt. Sie als Partner können gerne an dieser Veranstaltung gemeinsam mit Ihren Kunden teilnehmen, die Plätze sind limitiert. Hier finden Sie weitere Infos zum Oracle Day.

    Read the article

  • Stencil buffer appears to not be decrementing values correctly

    - by Alex Ames
    I'm attempting to use the stencil buffer as a clipper for my UI system, but I'm having trouble debugging a problem I'm running in to. This is what I'm doing: A widget can pass a rectangle to the the stencil clipper functions, which will increment the stencil buffer values that it covers. Then it will draw its children, which will only get drawn in the stencilled area (so that if they extend outside they'll be clipped). After a widget is done drawing its children, it pops that rectangle from the stack and in the process decrements the values in the stencil buffer that it has previously incremented. The slightly simplified code is below: static void drawStencil(Rect& rect, unsigned int ref) { // Save previous values of the color and depth masks GLboolean colorMask[4]; GLboolean depthMask; glGetBooleanv(GL_COLOR_WRITEMASK, colorMask); glGetBooleanv(GL_DEPTH_WRITEMASK, &depthMask); // Turn off drawing glColorMask(0, 0, 0, 0); glDepthMask(0); // Draw vertices here ... // Turn everything back on glColorMask(colorMask[0], colorMask[1], colorMask[2], colorMask[3]); glDepthMask(depthMask); // Only render pixels in areas where the stencil buffer value == ref glStencilFunc(GL_EQUAL, ref, 0xFF); glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP); } void pushScissor(Rect rect) { // increment things only at the current stencil stack level glStencilFunc(GL_EQUAL, s_scissorStack.size(), 0xFF); glStencilOp(GL_KEEP, GL_INCR, GL_INCR); s_scissorStack.push_back(rect); drawStencil(rect, states, s_ScissorStack.size()); } void popScissor() { // undo what was done in the previous push, // decrement things only at the current stencil stack level glStencilFunc(GL_EQUAL, s_scissorStack.size(), 0xFF); glStencilOp(GL_KEEP, GL_DECR, GL_DECR); Rect rect = s_scissorStack.back(); s_scissorStack.pop_back(); drawStencil(rect, states, s_scissorStack.size()); } And this is how it's being used by the Widgets if (m_clip) pushScissor(m_rect); drawInternal(target, states); for (auto child : m_children) target.draw(*child, states); if (m_clip) popScissor(); This is the result of the above code: There are two things on the screen, a giant test button, and a window with some buttons and text areas on it. The text area scroll box is set to clip its children (so that the text doesn't extend outside the scroll box). The button is drawn after the window and should be on top of it completely. However, for some reason the text area is appearing on top of the button. The only reason I can think of that this would happen is if the stencil values were not getting decremented in the pop, and when it comes time to render the button, since those pixels don't have the right stencil value it doesn't draw over. But I can't figure out whats wrong with my code that would cause that to happen.

    Read the article

  • Google+ Platform Office Hours for February 1st 2012

    Google+ Platform Office Hours for February 1st 2012 Jenny Murphy and Jonathan Beri represented Google. Fraser Cain, Abraham Williams and Allen Firstenberg joined us from the developer community. This week we discussed the new configuration options for the Google+ Badge. You can read more about these new features on the platform blog: googleplusplatform.blogspot.com Please join the discussion on our support forum: groups.google.com Learn more about our office hours on Google Developers: developers.google.com From: GoogleDevelopers Views: 4150 55 ratings Time: 47:51 More in Science & Technology

    Read the article

< Previous Page | 502 503 504 505 506 507 508 509 510 511 512 513  | Next Page >