Jump to content

Josh

Staff
  • Content Count

    15,995
  • Joined

  • Last visited

Community Reputation

8,451 Excellent

About Josh

  • Rank
    Advanced Member

Profile Information

  • Gender
    Male
  • Location
    San Francisco, CA

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. The version 5 beta is not yet available. Release is expected to be near the end of 2020.
  2. Josh

    Shader Families

    A geometry shader can be added in the definition.
  3. Josh

    Back from I/ITSEC

    I'm back from I/ITSEC. This conference is basically like the military's version of GDC. VR applications built with Leadwerks took up about half of Northrop Grumman's booth. There were many interesting discussions about new technology and I received a very warm reception. I feel very positive about our new technology going forward. I am currently reworking the text field widget script to work with our persistent 2D objects. This is long and boring but needs to be done. Not much else to say right now.
  4. Which account do you want to delete?
  5. The way I get rid of cracks is by disabling displacement along seams. The new engine uses a per-vertex displacement value but you could use the vertex alpha to control the displacement amount.
  6. I'm at I/ITSEC this week. Learn how Northrop Grumman is using Leadwerks for VR at booth #2548.

    EK3sbITWkAED8F5.thumb.jpg.ffc821b700b850e887d7c2e7d02321c7.jpg

    ย 

  7. It would be possible to write a tessellation shader based on the content of the LE5 shaders.
  8. I want cybertruck ๐Ÿ˜„

    1. ๐Ÿ’ŽYue๐Ÿ’Ž
    2. aiaf

      aiaf

      cybertruck broken window edition :) joke aside coolย car

  9. Happy Thanksgiving!

    1. gamecreator

      gamecreator

      Happy Thanksgiving everyone.

  10. For future reference: https://programmersheaven.com/discussion/362851/using-keyboard-hooks-how-do-i-disable-the-windows-key
  11. The brutal but no-BS design of Vulkan is influencing me.
  12. The code above is the widget script, which you don't have to touch. Usage to create a tabbed panel would be like this: local tabber = CreateWidget(parent,"",0,0,400,300) tabber:SetScript("Scripts/GUI/tabber.lua") tabber:AddItem("Item 1", true) tabber:AddItem("Item 2") tabber:AddItem("Item 3")
  13. Here are some screenshots showing more complex interface items scaled at different resolutions. First, here is the interface at 100% scaling: And here is the same interface at the same screen resolution, with the DPI scaling turned up to 150%: The code to control this is sort of complex, and I don't care. GUI resolution independence is a complicated thing, so the goal should be to create a system that does what it is supposed to do reliably, not to make complicated things simpler at the expense of functionality. function widget:Draw(x,y,width,height) local scale = self.gui:GetScale() self.primitives[1].size = iVec2(self.size.x, self.size.y - self.tabsize.y * scale) self.primitives[2].size = iVec2(self.size.x, self.size.y - self.tabsize.y * scale) --Tabs local n local tabpos = 0 for n = 1, #self.items do local tw = self:TabWidth(n) * scale if n * 3 > #self.primitives - 2 then self:AddRect(iVec2(tabpos,0), iVec2(tw, self.tabsize.y * scale), self.bordercolor, false, self.itemcornerradius * scale) self:AddRect(iVec2(tabpos+1,1), iVec2(tw, self.tabsize.y * scale) - iVec2(2 * scale,-1 * scale), self.backgroundcolor, false, self.itemcornerradius * scale) self:AddTextRect(self.items[n].text, iVec2(tabpos,0), iVec2(tw, self.tabsize.y*scale), self.textcolor, TEXT_CENTER + TEXT_MIDDLE) end if self:SelectedItem() == n then self.primitives[2 + (n - 1) * 3 + 1].position = iVec2(tabpos, 0) self.primitives[2 + (n - 1) * 3 + 1].size = iVec2(tw, self.tabsize.y * scale) + iVec2(0,2) self.primitives[2 + (n - 1) * 3 + 2].position = iVec2(tabpos + 1, 1) self.primitives[2 + (n - 1) * 3 + 2].color = self.selectedtabcolor self.primitives[2 + (n - 1) * 3 + 2].size = iVec2(tw, self.tabsize.y * scale) - iVec2(2,-1) self.primitives[2 + (n - 1) * 3 + 3].color = self.hoveredtextcolor self.primitives[2 + (n - 1) * 3 + 1].position = iVec2(tabpos,0) self.primitives[2 + (n - 1) * 3 + 2].position = iVec2(tabpos + 1, 1) self.primitives[2 + (n - 1) * 3 + 3].position = iVec2(tabpos,0) else self.primitives[2 + (n - 1) * 3 + 1].size = iVec2(tw, self.tabsize.y * scale) self.primitives[2 + (n - 1) * 3 + 2].color = self.tabcolor self.primitives[2 + (n - 1) * 3 + 2].size = iVec2(tw, self.tabsize.y * scale) - iVec2(2,2) if n == self.hovereditem then self.primitives[2 + (n - 1) * 3 + 3].color = self.hoveredtextcolor else self.primitives[2 + (n - 1) * 3 + 3].color = self.textcolor end self.primitives[2 + (n - 1) * 3 + 1].position = iVec2(tabpos,2) self.primitives[2 + (n - 1) * 3 + 2].position = iVec2(tabpos + 1, 3) self.primitives[2 + (n - 1) * 3 + 3].position = iVec2(tabpos,2) end self.primitives[2 + (n - 1) * 3 + 3].text = self.items[n].text tabpos = tabpos + tw - 2 end end
ร—
ร—
  • Create New...